Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bekerja dengan XML dalam PHP: Cara menghuraikan XML dan mencipta dokumen XML

Bekerja dengan XML dalam PHP: Cara menghuraikan XML dan mencipta dokumen XML

PHPz
PHPzasal
2023-06-19 17:02:151391semak imbas

XML (Extensible Markup Language) ialah format data biasa yang digunakan secara meluas dalam pembangunan web. Dalam PHP, penggunaan XML adalah sangat biasa, jadi mempelajari cara menghuraikan XML dan mencipta dokumen XML adalah sangat penting untuk pembangun PHP.

Artikel ini akan memperkenalkan anda kepada kaedah asas menghuraikan XML dan mencipta dokumen XML dalam PHP.

  1. Menghuraikan XML

Terdapat dua cara untuk menghuraikan XML: berasaskan DOM dan berasaskan SAX. DOM (Model Objek Dokumen) mewakili keseluruhan dokumen XML sebagai pokok dan digunakan untuk beroperasi pada keseluruhan dokumen. SAX (Simple API for XML) ialah kaedah penghuraian penstriman yang membaca dokumen XML nod demi nod dalam turutan.

Dalam artikel ini, kami akan menumpukan pada kaedah penghuraian berasaskan DOM.

Pertama, kita perlu memuatkan fail XML menggunakan kelas DOMDocument dalam PHP:

$doc = new DOMDocument();
$doc->load('example.xml');

Ini akan mencipta dokumen XML menggunakan kelas DOMDocument dan memuatkan fail XML "example.xml".

Seterusnya, kita boleh menggunakan kaedah getElementsByTagName untuk mendapatkan elemen XML yang ditentukan:

$books = $doc->getElementsByTagName('book');

Ini akan mendapatkan semua elemen buku dan menyimpannya dalam pembolehubah $books. Kita boleh mendapatkan nilai sub-elemen dan sub-elemen setiap elemen buku dengan merentasi tatasusunan $books:

foreach ($books as $book) {
    $title = $book->getElementsByTagName('title')->item(0)->nodeValue;
    $author = $book->getElementsByTagName('author')->item(0)->nodeValue;
    $publisher = $book->getElementsByTagName('publisher')->item(0)->nodeValue;
    echo "$title - $author - $publisher
";
}

Ini akan merentasi semua elemen buku dan mendapatkan sub-elemen tajuk, pengarang dan penerbit dalam setiap elemen buku menghargai dan mengeluarkannya.

  1. Mencipta dokumen XML

Dalam PHP, kita boleh menggunakan kelas DOMDocument untuk mencipta dokumen XML dan menambah elemen, atribut dan nod teks.

Pertama, kita perlu mencipta contoh kelas DOMDocument:

$doc = new DOMDocument();

Seterusnya, kita boleh menggunakan kaedah createElement untuk mencipta elemen dan kaedah appendChild untuk menambahkannya pada dokumen DOM:

$book = $doc->createElement('book');
$doc->appendChild($book);

Ini akan mencipta elemen bernama "buku" dan menambahkannya pada dokumen DOM.

Kita boleh menambah atribut pada elemen menggunakan kaedah setAttribute:

$book->setAttribute('id', '1');

Ini akan menambah atribut dipanggil "id" dengan nilai "1" pada elemen buku.

Kami juga boleh mencipta nod teks menggunakan kaedah createTextNode dan menambahnya pada elemen menggunakan kaedah appendChild:

$title = $doc->createElement('title');
$book->appendChild($title);
$title_text = $doc->createTextNode('PHP入门教程');
$title->appendChild($title_text);

Ini akan mencipta elemen anak tajuk untuk elemen buku dan menambahnya dinamakan " Nod teks untuk "Pengenalan kepada Tutorial PHP".

Akhir sekali, kami boleh menyimpan dokumen DOM sebagai fail XML menggunakan kaedah simpan:

$doc->save('example.xml');

Ini akan menyimpan dokumen DOM sebagai fail bernama "example.xml".

Kesimpulan

Dalam PHP, pemprosesan XML adalah sangat biasa. Kami boleh menggunakan penghuraian berasaskan DOM untuk mendapatkan elemen dan data dalam dokumen XML, dan menggunakan kelas DOMDocument untuk mencipta dokumen XML, menambah elemen, atribut dan nod teks. Operasi ini boleh membawa bantuan besar kepada pembangunan web kami.

Atas ialah kandungan terperinci Bekerja dengan XML dalam PHP: Cara menghuraikan XML dan mencipta dokumen XML. 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