Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Perangkak PHP: Cara menghuraikan dokumen XML menggunakan XPath

Perangkak PHP: Cara menghuraikan dokumen XML menggunakan XPath

王林
王林asal
2023-06-13 15:16:051277semak imbas

Dalam era Internet, data adalah aset yang sangat penting. Kaedah mendapatkan data daripada Internet ialah crawler. Crawler merujuk kepada simulasi pengguna sebenar untuk melawati tapak web dan merangkak secara automatik data pada halaman web melalui program. Perangkak PHP ialah perangkak yang sangat penting Ia boleh merangkak data daripada pelbagai tapak web dan memberikan kami banyak maklumat dan sumber melalui analisis data, pemprosesan dan perlombongan. Dalam perangkak PHP, menggunakan XPath untuk menghuraikan dokumen XML ialah teknologi yang sangat penting. Artikel ini memperkenalkan secara terperinci apa itu XPath, sintaks XPath dan cara XPath digunakan pada perangkak PHP.

1. Apakah itu XPath

XPath ialah bahasa yang digunakan untuk mencari maklumat dalam format dokumen XML. XPath boleh menggunakan ungkapan laluan untuk memilih nod atau sekumpulan nod dalam dokumen XML. XPath ialah singkatan XML Path Language, iaitu bahasa laluan XML XPath mencari data khusus dalam dokumen dengan mencari elemen khusus dalam dokumen XML dan menggunakan ungkapan laluan untuk memahami struktur dokumen.

2. Sintaks XPath

Sintaks asas XPath termasuk ungkapan laluan, nod dan predikat (Predikat), yang diperkenalkan secara terperinci di bawah.

  1. Ekspresi laluan

Ekspresi laluan ialah sintaks teras XPath Ia bermula dengan simbol slash "/" atau simbol slash berganda "//" Rentetan daripada aksara yang digunakan untuk mencari nod atau kumpulan nod untuk diakses dalam dokumen. Sebagai contoh, ungkapan laluan berikut memilih semua elemen buku peringkat atas dalam dokumen.

/kedai buku/buku

  1. Nod

Dalam XPath, nod boleh ditakrifkan sebagai elemen, atribut, teks, ruang nama dan arahan pemprosesan dan sebagainya . Ungkapan laluan boleh menggunakan simbol slash untuk menavigasi ke bawah nod dalam dokumen XML. Sebagai contoh, "/" mewakili nod akar, "kedai buku" mewakili nod peringkat pertama di bawah nod akar dokumen XML dan "buku" mewakili semua nod bernama buku di peringkat seterusnya.

  1. Predikat

Predikat XPath ialah pernyataan bersyarat yang boleh menapis nod yang memenuhi syarat. Ungkapan predikat diwakili oleh kurungan segi empat sama "[]". Sebagai contoh, predikat dalam contoh berikut ialah [@category='WEB'], yang bermaksud memilih nod buku yang nilai atribut kategorinya ialah 'WEB'.

/bookstore/book[@category='WEB']

3 Cara menggunakan XPath pada perangkak PHP

Dalam perangkak PHP, kita boleh menggunakan kelas DOMDocument dan Kelas DOMXPath untuk memproses dokumen XML input. Antaranya, kelas DOMDocument digunakan untuk menghuraikan dokumen XML, manakala kelas DOMXPath ialah API (antara muka pengaturcaraan aplikasi) untuk memilih nod daripada objek DOMDocument berdasarkan ungkapan XPath.

Tambah kod berikut dalam fail PHP untuk melaksanakan penghuraian dokumen XML XPath:

$url = 'http://example.com/data.xml'; // XML 文档路径
$xml = file_get_contents ($url); //读取 XML 文件
$doc = new DOMDocument(); 
$doc->loadXML($xml); //载入 XML 文件
 
$xpath = new DOMXPath($doc); 
$query = "//bookstore/book[@category='WEB']"; //XPath 表达式
 
$books = $xpath->query($query);
 
foreach ($books as $book){ 
    echo $book->getAttribute("title") . "
"; //打印符合条件的 book 节点 title 属性
}

Fungsi kod di atas:

  1. Baca dan muatkan fail XML .
  2. Gunakan kelas DOMXPath untuk memanggil ungkapan XPath.
  3. Gunakan kaedah query() untuk mengembalikan senarai objek nod Senarai ini mengandungi semua nod buku yang memenuhi syarat.
  4. Gunakan gelung foreach untuk mencetak atribut tajuk nod buku yang memenuhi syarat.

Dalam kod di atas, "//bookstore/book[@category='WEB']" bermaksud memilih semua nod bernama book, di mana nilai atribut kategori adalah sama dengan 'WEB' .

4. Ringkasan

Kesederhanaan dan fleksibiliti sintaks XPath memberikan banyak kemudahan untuk perangkak PHP. Gabungan sintaks XPath dan perangkak PHP menyelesaikan masalah mendapatkan data Internet. Perlu diingat bahawa apabila menggunakan XPath untuk menghuraikan dokumen XML, anda perlu memilih sintaks yang betul berdasarkan keperluan sebenar untuk mendapatkan maklumat yang lebih tepat.

Atas ialah kandungan terperinci Perangkak PHP: Cara menghuraikan dokumen XML menggunakan XPath. 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