XML (Extensible Markup Language) ialah format pertukaran data yang biasa digunakan yang mempunyai kebolehbacaan dan kebolehskalaan yang baik. Dalam pembangunan Web, PHP, sebagai bahasa pengaturcaraan bahagian pelayan yang digunakan secara meluas, juga menyediakan pelbagai teknologi pemprosesan XML Artikel ini akan memperkenalkan teknologi pemprosesan XML dalam PHP, termasuk menghuraikan dokumen XML, menjana dokumen XML, penukaran XSLT, dsb.
1. Menghuraikan dokumen XML
Menghuraikan dokumen XML ialah langkah pertama dalam memproses data XML PHP menyediakan dua cara untuk menghuraikan XML: DOM dan SimpleXML.
DOM (Model Objek Dokumen) ialah cara standard untuk mencipta dan menghuraikan dokumen XML. Dalam PHP, anda boleh menggunakan kelas DOMDocument untuk mencipta objek DOM, dan kemudian mengendalikan dokumen XML melalui kaedah objek DOM.
Berikut ialah contoh mudah:
$xmlDoc = new DOMDocument(); $xmlDoc->load("books.xml"); $books = $xmlDoc->getElementsByTagName("book"); foreach($books as $book) { $authors = $book->getElementsByTagName("author"); $title = $book->getElementsByTagName("title"); $category = $book->getAttribute("category"); echo "<p>$title - $authors ($category)</p>"; }
Dalam kod di atas, objek DOMDocument pertama kali dibuat, dan kemudian dokumen XML dimuatkan melalui kaedah load(). Kemudian gunakan kaedah getElementsByTagName() untuk mendapatkan elemen teg dalam dokumen, kaedah getAttribute() untuk mendapatkan nilai atribut elemen, dan akhirnya mengeluarkan maklumat yang diperlukan.
SimpleXML ialah cara lain untuk menghuraikan dokumen XML dalam PHP Ia mengendalikan data XML dengan menukar dokumen XML kepada objek. SimpleXML boleh mengakses data dalam dokumen XML dengan cepat menggunakan kod mudah, dan amat sesuai untuk memproses dokumen XML yang besar.
Berikut ialah contoh penggunaan SimpleXML untuk menghuraikan dokumen XML:
$xml = simplexml_load_file("books.xml"); foreach($xml->book as $book) { $authors = $book->author; $title = $book->title; $category = $book->attributes()->category; echo "<p>$title - $authors ($category)</p>"; }
Dalam kod di atas, gunakan fungsi simplexml_load_file() untuk memuatkan dokumen XML, dan kemudian akses nod XML dan atribut melalui sifat atau kaedah objek . Berbanding dengan penghuraian DOM, kod SimpleXML lebih ringkas dan lebih mudah dibaca.
2. Hasilkan dokumen XML
Selain menghuraikan dokumen XML, PHP juga menyediakan dua cara untuk menjana dokumen XML: DOM dan SimpleXML.
Objek DOM bukan sahaja boleh menghuraikan dokumen XML, tetapi juga mencipta dan mengedit dokumen XML. Sebagai contoh, anda boleh menggunakan kaedah createElement() untuk mencipta nod elemen dan kaedah appendChild() untuk menambah nod elemen pada dokumen.
Berikut ialah contoh penggunaan DOM untuk menjana dokumen XML:
$xmlDoc = new DOMDocument(); $root = $xmlDoc->createElement("books"); $xmlDoc->appendChild($root); $book = $xmlDoc->createElement("book"); $root->appendChild($book); $author = $xmlDoc->createElement("author", "John Doe"); $book->appendChild($author); $title = $xmlDoc->createElement("title", "PHP is fun"); $book->appendChild($title); $category = $xmlDoc->createAttribute("category"); $category->value = "programming"; $book->appendChild($category); echo $xmlDoc->saveXML();
Dalam kod di atas, objek DOMDocument dan nod elemen akar pertama kali dicipta. Kemudian buat nod elemen buku, tambahkan tiga sub-elemen: pengarang, tajuk dan kategori, dan akhirnya mengeluarkan dokumen XML melalui kaedah saveXML().
Ia juga mudah untuk menjana dokumen XML menggunakan SimpleXML. Anda boleh mencipta objek SimpleXMLElement dan kemudian menggunakan sifat atau kaedah untuk menetapkan nilai nod dan atribut.
Berikut ialah contoh penggunaan SimpleXML untuk menjana dokumen XML:
$xml = new SimpleXMLElement("<books></books>"); $book = $xml->addChild("book"); $book->addChild("author", "John Doe"); $book->addChild("title", "PHP is fun"); $book->addAttribute("category", "programming"); echo $xml->asXML();
Dalam kod di atas, objek SimpleXMLElement pertama kali dibuat, kemudian nod elemen buku ditambah dan anaknya elemen dan atribut ditetapkan nilai, dan akhirnya menggunakan kaedah asXML() untuk mengeluarkan dokumen XML.
3. Penukaran XSLT
XSLT (Transformasi Bahasa Gaya Boleh Diperluas) ialah kaedah standard untuk menukar dokumen XML kepada format lain. Dalam PHP, transformasi XSLT boleh dilakukan menggunakan kelas XSLTProcessor.
Berikut ialah contoh penggunaan XSLT untuk menukar dokumen XML:
$xmlDoc = new DOMDocument(); $xmlDoc->load("books.xml"); $xslDoc = new DOMDocument(); $xslDoc->load("books.xsl"); $proc = new XSLTProcessor(); $proc->importStylesheet($xslDoc); echo $proc->transformToXML($xmlDoc);
Dalam kod di atas, objek DOMDocument pertama kali dibuat dan dokumen XML yang hendak ditukar dimuatkan. Kemudian buat objek DOMDocument yang mengandungi gaya XSLT. Seterusnya, cipta objek XSLTProcessor dan gunakan kaedah importStylesheet() untuk mengimport helaian gaya XSLT. Akhir sekali, gunakan kaedah transformToXML() untuk menukar dokumen XML kepada format lain.
Ringkasnya, PHP menyediakan banyak teknologi pemprosesan XML, termasuk menghuraikan dokumen XML, menjana dokumen XML, penukaran XSLT, dsb. Melalui teknologi ini, pembangun boleh memproses data XML dengan mudah dan menyediakan fungsi pertukaran data yang lebih kaya untuk aplikasi Web.
Atas ialah kandungan terperinci Teknologi pemprosesan XML dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!