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.
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 "
Nama | Harga |
---|---|
$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 "
Nama | Harga |
---|---|
$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 "
Merek | Nama | Harga |
---|---|---|
$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 = <<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.