Dalam pembangunan web, mendapatkan dan menghuraikan data XML adalah operasi yang sangat biasa. Artikel ini akan menumpukan pada cara menggunakan perangkak PHP untuk mendapatkan dan menghuraikan data XML.
1. Mendapatkan data XML
pustaka cURL ialah perpustakaan PHP yang sangat biasa digunakan untuk mendapatkan data. Anda boleh menggunakan kod berikut untuk mendapatkan data XML daripada tapak web:
$url = 'http://example.com/example.xml'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $xml = curl_exec($ch); curl_close($ch);
Di sini kami menggunakan curl_init() untuk memulakan objek cURL dan menetapkan parameter CURLOPT_URL kepada URL sasaran. Menetapkan parameter CURLOPT_RETURNTRANSFER kepada 1 akan menyebabkan cURL mengembalikan rentetan dan bukannya mengeluarkan kandungan secara langsung.
Sementara pustaka cURL memperoleh data XML, kaedah file_get_contents() juga boleh mendapatkan data XML. Kita boleh mencapai matlamat ini dengan mengikuti contoh berikut:
$url = 'http://example.com/example.xml'; $xml = file_get_contents($url);
2 Menghuraikan data XML
PHP menyediakan pelbagai kaedah untuk menghuraikan data XML.
SimpleXML ialah penghurai XML yang sangat mudah digunakan dalam PHP. Kita boleh menggunakan SimpleXML seperti berikut:
$xml = simplexml_load_string($xml);
Di sini kami telah menggunakan kaedah simplexml_load_string() untuk menghuraikan rentetan XML dan menukarnya menjadi objek.
Sebagai contoh, katakan kita mempunyai dokumen XML berikut:
<?xml version="1.0" encoding="UTF-8" ?> <bookstore> <book> <title>PHP 7 Programming Blueprints</title> <author>Vikram Vaswani</author> <price>28.99</price> </book> <book> <title>Mastering PHP 7</title> <author>Chad Russell</author> <price>39.99</price> </book> </bookstore>
Kita boleh menggunakan kod berikut untuk mengakses dan mengeluarkan data XML ini:
foreach ($xml->book as $book) { echo "Title: " . $book->title . "<br>"; echo "Author: " . $book->author . "<br>"; echo "Price: " . $book->price . "<br>"; }
Keluarannya adalah seperti berikut :
Title: PHP 7 Programming Blueprints Author: Vikram Vaswani Price: 28.99 Title: Mastering PHP 7 Author: Chad Russell Price: 39.99
DOMDocument ialah satu lagi penghurai XML yang biasa digunakan dalam PHP. Kita boleh menggunakan DOMDocument seperti berikut:
$doc = new DOMDocument(); $doc->loadXML($xml); $books = $doc->getElementsByTagName("book"); foreach ($books as $book) { $titles = $book->getElementsByTagName("title"); $title = $titles->item(0)->nodeValue; $authors = $book->getElementsByTagName("author"); $author = $authors->item(0)->nodeValue; $prices = $book->getElementsByTagName("price"); $price = $prices->item(0)->nodeValue; echo "Title: " . $title . "<br>"; echo "Author: " . $author . "<br>"; echo "Price: " . $price . "<br>"; }
Di sini kita menggunakan kelas DOMDocument untuk menghuraikan dokumen XML, dan kemudian menggunakan kaedah getElementsByTagName() untuk mendapatkan elemen tertentu. Output akhir adalah sama dengan penghurai SimpleXML.
3. Ringkasan
Dalam artikel ini, kami mempelajari cara menggunakan perangkak PHP untuk mendapatkan dan menghuraikan data XML, termasuk menggunakan pustaka cURL dan fungsi file_get_contents() untuk mendapatkan data XML dan menggunakan SimpleXML dan DOMDocument menghuraikan data XML. Semoga artikel ini bermanfaat kepada anda.
Atas ialah kandungan terperinci Bagaimana untuk mendapatkan dan menghuraikan data XML menggunakan perangkak PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!