Rumah >pembangunan bahagian belakang >tutorial php >PHP dalam tindakan: Mengekstrak data daripada dokumen XML menggunakan XPath
XPath ialah alat yang sangat berguna apabila bekerja dengan data XML menggunakan PHP. XPath ialah bahasa untuk mencari elemen dalam dokumen XML. Ia membantu pembangun mengekstrak data yang diperlukan daripada dokumen XML dengan cepat dan mudah.
Dalam artikel ini, kami akan memperkenalkan konsep asas XPath dan menerangkan secara terperinci cara menggunakan XPath dalam PHP. Kami akan menunjukkan cara menggunakan XPath untuk mengekstrak data daripada dokumen XML dan membina aplikasi PHP mudah untuk menunjukkan kuasa XPath.
Apakah itu XPath?
XPath ialah bahasa untuk mencari nod dalam dokumen XML. Ia menggunakan ungkapan laluan untuk menerangkan elemen dan atribut dalam dokumen. Ekspresi XPath adalah berdasarkan struktur dokumen XML dan digunakan untuk memilih nod atau satu set nod.
XPath ialah piawaian bebas, diseragamkan oleh W3C. Ekspresi XPath boleh digunakan dalam banyak bahasa pengaturcaraan, termasuk PHP.
Sintaks ungkapan XPath
Ekspresi XPath menggunakan ungkapan laluan untuk menerangkan elemen dan atribut XML. Ungkapan laluan terdiri daripada jujukan nod, pengendali hubungan dan predikat.
Berikut ialah beberapa sintaks asas ungkapan XPath:
Predikat dalam XPath membolehkan kami memilih nod tertentu. Berikut ialah beberapa contoh predikat:
XPath menyokong berbilang pengendali, seperti pengendali logik, predikat yang sepadan, pengendali aritmetik, dsb.
XPath untuk PHP
Dalam PHP, kita boleh menggunakan sambungan DOM untuk menghuraikan dokumen XML dan menggunakan ungkapan XPath untuk mencari dan mengubah suai nod dokumen.
Berikut ialah skrip PHP asas untuk memilih nod dalam dokumen XML:
$xml = new DOMDocument();
$xml->load("products. xml" );
$xpath = DOMXPath baharu($xml);
$nodes = $xpath->query("//name");
foreach ($nod sebagai $ nod) {
echo $node->nodeValue . "
";
}
Kod di atas membaca dokumen XML menggunakan kelas DOMDocument dan kemudian melaksanakan pertanyaan XPath menggunakan kelas DOMXPath. Dalam contoh ini kita menanyakan Semua namakan elemen dalam dokumen dan gelungkan nilai nod setiap elemen
Contoh XPath
Sekarang, kami akan menunjukkan contoh yang lebih kompleks menggunakan XPath untuk mengekstrak data daripada dokumen XML >
Kami akan menggunakan dokumen XML berikut, yang mengandungi beberapa maklumat buku: 52b189f45abba88b2989c5c1f30b7a34 8c96469f216615ebb53bc03615beaaaa
682308e7cb6674226208e44aef4372e6
<title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price>0f6fa65eb6c7f3ed4374d12bf4ac01bd
d954109270c54b86438b084516356003
<title lang="en">Harry Potter</title> <author>J.K. Rowling</author> <year>2005</year> <price>29.99</price>< ;/book>
66bd91000a0463b198b805a556c90106
<title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price>0f6fa65eb6c7f3ed4374d12bf4ac01bd
adcb83d22f39c33cc25e1b3e5b18e55f
$xml->load .xml");
$nodes = $xpath->query("//book[@category='cooking']" );
$title = $xpath->query("title", $node)->item(0)->nodeValue; $price = $xpath->query("price", $node)->item(0)->nodeValue; echo "Title: $title, Price: $price";
}
Atas ialah kandungan terperinci PHP dalam tindakan: Mengekstrak data daripada dokumen XML menggunakan XPath. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!