php

Penggunaan xpath() di PHP

Penggunaan xpath() di PHP
Dokumen XML digunakan untuk menyimpan sejumlah kecil data, dan terkadang diperlukan untuk membaca konten tertentu dari dokumen XML berdasarkan nilai jalur menggunakan skrip PHP. fungsi xpath() digunakan untuk mengurai konten dokumen XML. Fungsi ini dapat digunakan dengan menggunakan simplexml_load_file() fungsi atau dengan membuat objek dari ElemenXMLE sederhana kelas. Fungsi xpath() dapat digunakan untuk membaca nilai node XML tertentu yang ditunjukkan dalam tutorial ini.

Sintaksis:

Sintaks fungsi xpath() diberikan di bawah ini.

array xpath(string $path)

Fungsi ini memiliki satu argumen yang mengambil nilai jalur, dan jika jalur ada di simpul mana pun dari dokumen XML, maka nilai simpul akan dikembalikan sebagai larik. Penggunaan yang berbeda dari fungsi ini telah dijelaskan di bagian selanjutnya dari tutorial ini.

Buat dokumen XML:

Buat file XML bernama produk.xml dengan konten berikut di lokasi di mana file PHP akan dibuat untuk mengurai file ini.




MN-56345
DELL
Monitor Dell 15 inci
700


HD-34278
SAMSUNG
HDD Samsung 1TB
520


MS-67457
LOGITECH
Mouse Nirkabel Logitech
100


MN-76453
HP
Monitor HP 14 inci
750

Penggunaan simplexml_load_file() fungsi:

Fungsi xpath() dengan objek yang dibuat oleh fungsi simplexml_load_file() telah ditampilkan di bagian tutorial ini.

Contoh-1: Baca nilai simpul XML tertentu

Contoh berikut menunjukkan cara membaca konten nilai node tertentu dari dokumen XML dengan mendefinisikan jalur fungsi xpath(). variabel objek, $xml dibuat untuk membaca nilai node tertentu dari specific produk.xml mengajukan. '/PRODUK/PRODUK/MEREK' digunakan di xpath() untuk membaca semua nilai simpul BRAND. '/PRODUK/PRODUK' digunakan di xpath() untuk membaca semua nilai simpul anak dari PRODUK simpul. untuk setiap loop digunakan untuk mencetak nilai NAMA dan HARGA simpul.

//Buat objek untuk membaca file XML
$xml = simplexml_load_file('produk.xml');
//Cari semua nilai simpul BRAND
$merek = $xml->xpath('/PRODUCTS/PRODUCT/BRAND');
//Mencetak nilai array
gema "

Daftar nama merek tersebut adalah:

";
foreach($merek sebagai $nama)
echo "$nama
";

//Telusuri semua nilai simpul PRODUCT
$produk = $xml->xpath('/PRODUCTS/PRODUCT');
gema "

Daftar nama produk dan harga:

";
gema "";
gema "";
//Mencetak nilai array
foreach($produk sebagai $produk)
gema "";

gema "
NamaHarga
$produk->NAME $$produk->HARGA
";
?>

Keluaran:

Output berikut akan muncul setelah menjalankan skrip dari server:.

Contoh-2: Baca nilai simpul XML tertentu berdasarkan kondisi

Contoh berikut menunjukkan cara membaca nilai node tertentu berdasarkan kondisi menggunakan fungsi xpath(). Nilai jalur, '/PRODUK/PRODUK[HARGA > 600]', akan mencari nilai dari semua node anak dari PRODUK simpul dimana nilai HARGA simpul lebih dari 600. untuk setiap loop digunakan untuk mencetak nilai NAMA dan HARGA simpul.

//Buat objek untuk membaca file XML
$xml = simplexml_load_file('produk.xml');
//Cari produk yang nilainya lebih dari 600
$produk = $xml->xpath('/PRODUCTS/PRODUCT[HARGA > 600]');
gema "

Daftar nama produk dan harga yang harganya lebih dari 600:

";
gema "";
gema "";
//Mencetak nilai array
foreach($produk sebagai $produk)
gema "";

gema "
NamaHarga
$produk->NAME $$produk->HARGA
";
?>

Keluaran:

Output berikut akan muncul setelah menjalankan skrip dari server:.

Contoh-3: Baca nilai simpul XML tertentu berdasarkan atribut

Contoh berikut menunjukkan cara membaca nilai simpul tertentu berdasarkan nilai atribut dari simpul khusus dokumen XML dengan menggunakan fungsi xpath(). Nilai jalur, '/PRODUCTS/PRODUCT[@category=”Monitor”]' akan mencari nilai dari semua node anak dari produk node, di mana nilai atribut kategori adalah Memantau. untuk setiap loop digunakan untuk mencetak nilai NAMA MERK, dan HARGA simpul.

//Buat objek untuk membaca file XML
$xml = simplexml_load_file('produk.xml');
//Cari produk dengan nilai atribut ategori 'Monitor'
$produk = $xml->xpath('/PRODUCTS/PRODUCT[@category="Monitor"]');
gema "

Daftar merek produk, nama dan harga berdasarkan kategori (Monitor):

";
gema "";
gema "";
//Mencetak nilai array
foreach($produk sebagai $produk)
gema "";

gema "
MerekNamaHarga
$produk->MEREK$produk->NAME $$produk->HARGA
";
?>

Keluaran:

Output berikut akan muncul setelah menjalankan skrip dari server:.

Penggunaan ElemenXMLE sederhana kelas:

Penggunaan fungsi xpath() dengan membuat objek kelas SimpleXMLElement telah ditunjukkan di bagian tutorial ini.

Contoh-4: Penggunaan xpath() dengan mendefinisikan konten XML dalam sebuah variabel

Contoh berikut menunjukkan cara membaca nilai simpul dokumen XML yang dideklarasikan dalam variabel alih-alih file. Konten XML disimpan di $xml_data variabel. “/pelanggan/pelanggan” digunakan sebagai nilai argumen fungsi xpath() untuk membaca semua nilai node anak dari pelanggan simpul. Selanjutnya, untuk setiap loop digunakan untuk mencetak nilai nama simpul. “/pelanggan/pelanggan[@department='HR']” digunakan sebagai nilai argumen dari fungsi xpath() lain untuk membaca semua nilai simpul anak dari simpul pelanggan di mana nilai departemen atribut adalah SDM. Lanjut, a untuk masing-masing loop digunakan untuk mencetak nilai dari surel simpul.

$xml_data = <<

Md. Mahbub
[dilindungi email]


Farhana Zaman
[dilindungi email]


XML;
//Tentukan objek untuk membaca data XML
$xml = new SimpleXMLElement($xml_data);
//Tentukan jalur untuk membaca semua data pelanggan
$pelanggan = $xml->xpath("/pelanggan/pelanggan");
//Cetak nama pelanggan
gema "

Daftar nama pelanggan:

";
foreach($pelanggan sebagai $pelanggan)
echo "$pelanggan->nama
";

//Tentukan jalur untuk membaca semua data pelanggan departemen SDM
$pelanggan = $xml->xpath("/pelanggan/pelanggan[@department='HR']");
//Cetak email pelanggan
gema "

Email pelanggan departemen SDM:

";
foreach($pelanggan sebagai $pelanggan)
echo "$pelanggan->email
";

?>

Keluaran:

Output berikut akan muncul setelah menjalankan skrip dari server:.

Kesimpulan:

Dua cara berbeda menggunakan fungsi xpath() untuk membaca nilai simpul dokumen XML berdasarkan jalur tertentu atau jalur dengan kondisi atau jalur dengan nilai atribut telah dijelaskan dalam tutorial ini dengan menggunakan beberapa contoh.

Cara Meningkatkan FPS di Linux?
FPS adalah singkatan dari Bingkai per detik. Tugas FPS adalah mengukur kecepatan bingkai dalam pemutaran video atau pertunjukan game. Dengan kata sede...
Game Lab Aplikasi Oculus Teratas
Jika Anda adalah pemilik headset Oculus maka Anda harus tahu tentang sideloading. Sideloading adalah proses menginstal konten non-toko di headset Anda...
10 Game Teratas untuk Dimainkan di Ubuntu
Platform Windows telah menjadi salah satu platform yang mendominasi untuk bermain game karena persentase besar dari game yang berkembang saat ini untu...