Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan fungsi XML dalam PHP

Cara menggunakan fungsi XML dalam PHP

王林
王林asal
2023-05-20 08:43:351032semak imbas

XML ialah format pertukaran data yang biasa digunakan, dan PHP mempunyai banyak fungsi dan kelas untuk memproses data XML Anda boleh menggunakannya untuk membaca, menghuraikan, mencipta dan mengubah suai dokumen XML dengan mudah. Artikel ini akan memperkenalkan cara menggunakan fungsi XML dalam PHP.

  1. Fungsi penghuraian XML

Terdapat tiga fungsi penghuraian XML yang biasa digunakan dalam PHP: simplexml_load_file(), simplexml_load_string() dan xml_parse(), yang boleh digunakan untuk membaca dan Menghuraikan dokumen XML.

Fungsi simplexml_load_file() mengambil dokumen XML sebagai parameter dan mengembalikan objek XML mudah. Contohnya:

$xml = simplexml_load_file('test.xml');

$xml object boleh mengendalikan nod XML seperti tatasusunan, contohnya:

echo $xml - >book[0]->title; // Keluarkan nilai tajuk nod buku pertama

Fungsi simplexml_load_string() adalah serupa dengan fungsi simplexml_load_file() Anda boleh menggunakan rentetan XML sebagai parameter dan mengembalikan objek XML mudah.

Fungsi xml_parse() boleh menghuraikan nod dan atribut dokumen XML satu demi satu dan mencetuskan fungsi panggil balik. Contohnya:

function startElement($parser, $name, $attrs) {
echo "Start nod $name
";
}

function endElement($ parser , $name) {
echo "Nod akhir $name
";
}

$parser = xml_parser_create();
xml_set_element_handler($parser, "startElement", " endElement ");

$xml = file_get_contents("test.xml");
xml_parse($parser, $xml);

xml_parse() fungsi perlu dibuat menggunakan xml_parser_create () penghurai fungsi, dan gunakan fungsi xml_set_element_handler() untuk menetapkan fungsi mula dan tamat panggilan balik nod.

  1. Kelas XMLWriter

XMLWriter ialah kelas dalam PHP yang digunakan untuk mencipta dokumen XML. Ia menyediakan satu siri kaedah untuk membina dokumen XML, seperti startDocument(), endDocument(), startElement(), endElement(), writeElement(), writeAttribute(), dsb.

Berikut ialah contoh penggunaan kelas XMLWriter untuk mencipta dokumen XML:

$xmlWriter = new XMLWriter();
$xmlWriter->openURI('output.xml' );
$xmlWriter->startDocument('1.0', 'UTF-8'); // Tetapkan versi XML dan pengekodan
$xmlWriter->startElement('root');
$xmlWriter -> writeElement('book', 'Bermula dengan PHP');
$xmlWriter->writeElement('price', '19.99');
$xmlWriter->endElement(); Tamatkan nod akar
$xmlWriter->endDocument(); // End document

Dalam contoh di atas, kami menggunakan kelas XMLWriter untuk mencipta dokumen XML bernama output.xml, dan menggunakan startDocument () berfungsi untuk menetapkan Versi XML dan pengekodan, gunakan fungsi startElement() dan endElement() untuk mencipta nod akar, dan gunakan fungsi writeElement() untuk menulis nilai buku dan nod harga.

  1. sambungan DOM

Pelanjutan DOM dalam PHP menyediakan cara yang fleksibel untuk memproses dokumen XML Anda juga boleh menggunakan ungkapan XPath untuk menanyakan dokumen XML, mengubah suai nod dan atribut, dsb .

Berikut ialah contoh penggunaan sambungan DOM untuk membaca dan mengubah suai dokumen XML:

$dom = new DOMDocument();
$dom->load('test.xml ' );
$books = $dom->getElementsByTagName('book');
foreach ($books as $book) {
$title = $book->getElementsByTagName('title') - >item(0);
$title->nodeValue = 'Panduan Lanjutan PHP';
}
$dom->save('test.xml');

Dalam contoh di atas, kami menggunakan kelas DOMDocument untuk memuatkan dokumen XML, gunakan fungsi getElementsByTagName() untuk mendapatkan tatasusunan nod, gunakan fungsi item() untuk mendapatkan satu nod dan gunakan atribut nodeValue untuk mengubah suai nod nilai, dan akhirnya simpan dokumen XML yang diubah suai.

Ringkasan

PHP menyediakan pelbagai fungsi dan kelas untuk memproses data XML, menjadikannya sangat mudah untuk mengendalikan dokumen XML dalam PHP. Pembangun boleh memilih kaedah pemprosesan XML yang berbeza berdasarkan keperluan sebenar dan keutamaan peribadi.

Atas ialah kandungan terperinci Cara menggunakan fungsi XML dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn