Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk mendapatkan dan menghuraikan data XML menggunakan perangkak PHP

Bagaimana untuk mendapatkan dan menghuraikan data XML menggunakan perangkak PHP

王林
Lepaskan: 2023-06-13 16:32:01
asal
1896 orang telah melayarinya

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

  1. pustaka cURL

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);
Salin selepas log masuk

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.

  1. fungsi file_get_contents()

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);
Salin selepas log masuk

2 Menghuraikan data XML

PHP menyediakan pelbagai kaedah untuk menghuraikan data XML.

  1. SimpleXML

SimpleXML ialah penghurai XML yang sangat mudah digunakan dalam PHP. Kita boleh menggunakan SimpleXML seperti berikut:

$xml = simplexml_load_string($xml);
Salin selepas log masuk

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>
Salin selepas log masuk

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>";
}
Salin selepas log masuk

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
Salin selepas log masuk
  1. DOMDocument

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>";
}
Salin selepas log masuk

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!

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