Penjelasan terperinci tentang penggunaan fungsi xml mudah dalam PHP

WBOY
Lepaskan: 2023-06-16 08:32:01
asal
943 orang telah melayarinya

PHP ialah bahasa skrip sebelah pelayan yang popular yang sering digunakan untuk membangunkan tapak web dinamik. Dalam pembangunan laman web, data dalam format XML adalah sangat biasa. PHP menyediakan satu siri fungsi pemprosesan XML yang ringkas dan mudah digunakan untuk memudahkan kami mengendalikan data XML.

Dalam artikel ini, kami akan memperkenalkan fungsi XML dalam PHP secara terperinci, termasuk operasi seperti mencipta dokumen XML, membaca dan menghuraikan fail XML dan menggunakan XPath untuk menanyakan data XML.

1. Cipta dokumen XML

Dalam PHP, kita boleh menggunakan kelas DOMDocument untuk mencipta dokumen XML. Sebagai contoh, kod berikut boleh mencipta fail XML kosong:

$doc = new DOMDocument();
$doc->save('test.xml');
Salin selepas log masuk

Dalam kod di atas, kami mula-mula membuat instantiate kelas DOMDocument dan kemudian menyimpannya sebagai fail test.xml. Fail ini tidak mengandungi sebarang data, hanya nod akar.

Jika kita perlu menambah lebih banyak nod dan data pada fail XML, kita boleh menggunakan satu siri kaedah kelas DOMDocument. Sebagai contoh, kod berikut boleh mencipta fail XML yang mengandungi berbilang nod:

// 创建一个根节点
$root = $doc->createElement('bookstore');
$doc->appendChild($root);

// 创建一个book节点,并添加到根节点中
$book1 = $doc->createElement('book');
$book1->setAttribute('category', 'web');
$root->appendChild($book1);

// 添加book节点的子节点
$title1 = $doc->createElement('title', 'Learning PHP');
$author1 = $doc->createElement('author', 'David Sklar');
$year1 = $doc->createElement('year', '2014');
$book1->appendChild($title1);
$book1->appendChild($author1);
$book1->appendChild($year1);

// 再创建一个book节点
$book2 = $doc->createElement('book');
$book2->setAttribute('category', 'web');
$root->appendChild($book2);

$title2 = $doc->createElement('title', 'PHP Programming');
$author2 = $doc->createElement('author', 'Kevin Tatroe');
$year2 = $doc->createElement('year', '2017');
$book2->appendChild($title2);
$book2->appendChild($author2);
$book2->appendChild($year2);

$doc->save('books.xml');
Salin selepas log masuk

Dalam kod di atas, kami mencipta kedai buku nod akar dan menambah dua nod buku padanya, setiap nod buku mengandungi Tiga nod anak ialah tajuk, pengarang dan tahun. Akhir sekali, simpan keseluruhan dokumen sebagai fail books.xml.

2. Membaca dan menghuraikan fail XML

Dalam PHP, kami juga boleh menggunakan kelas DOMDocument untuk membaca dan menghuraikan fail XML. Contohnya, kod berikut boleh membaca fail books.xml dan mengeluarkan data:

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

$root = $doc->documentElement;

$books = $root->getElementsByTagName('book');
foreach ($books as $book) {
    $title = $book->getElementsByTagName('title')->item(0)->nodeValue;
    $author = $book->getElementsByTagName('author')->item(0)->nodeValue;
    $year = $book->getElementsByTagName('year')->item(0)->nodeValue;

    echo $title . ' - ' . $author . ' - ' . $year . '<br>';
}
Salin selepas log masuk

Dalam kod di atas, kami mula-mula membuat instantiate kelas DOMDocument dan menggunakan kaedah muat untuk membaca fail books.xml . Kemudian dapatkan kedai buku nod akar dokumen, dapatkan nod buku daripadanya, dan gelung melalui setiap nod buku untuk mendapatkan nilai nod tajuk, pengarang dan tahun, dan keluarkannya ke penyemak imbas.

3. Pertanyaan data XML menggunakan XPath

XPath ialah bahasa pertanyaan yang digunakan untuk mencari maklumat dalam dokumen XML. Dalam PHP, kita boleh menggunakan kelas DOMXPath untuk melaksanakan pertanyaan XPath. Sebagai contoh, kod berikut boleh menanyakan semua nod buku dalam fail books.xml yang kategorinya ialah web:

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

$xpath = new DOMXPath($doc);
$books = $xpath->query('/bookstore/book[@category="web"]');

foreach ($books as $book) {
    $title = $book->getElementsByTagName('title')->item(0)->nodeValue;
    $author = $book->getElementsByTagName('author')->item(0)->nodeValue;
    $year = $book->getElementsByTagName('year')->item(0)->nodeValue;

    echo $title . ' - ' . $author . ' - ' . $year . '<br>';
}
Salin selepas log masuk

Dalam kod di atas, kami mula-mula membuat instance kelas DOMXPath dan menggunakan kaedah pertanyaan untuk melaksanakan Hasilnya ialah semua nod buku yang kategorinya ialah web. Kemudian ia juga menggelung melalui hasil pertanyaan dan mengeluarkan data dalam nod ke penyemak imbas.

Ringkasan

Melalui pengenalan artikel ini, kami telah mempelajari tentang fungsi XML yang ringkas dan mudah digunakan dalam PHP, termasuk mencipta dokumen XML, membaca dan menghuraikan fail XML dan menggunakan XPath untuk menanyakan data XML . Fungsi-fungsi ini memberikan kami kemudahan dan fleksibiliti dalam memproses data XML dalam pembangunan laman web.

Atas ialah kandungan terperinci Penjelasan terperinci tentang penggunaan fungsi xml mudah dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!