Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Menghuraikan XML dengan Ruang Nama Menggunakan SimpleXML Tanpa Mengisytiharkan Awalan?

Bagaimanakah Saya Boleh Menghuraikan XML dengan Ruang Nama Menggunakan SimpleXML Tanpa Mengisytiharkan Awalan?

Patricia Arquette
Patricia Arquetteasal
2024-12-27 01:24:09636semak imbas

How Can I Parse XML with Namespaces Using SimpleXML Without Declaring a Prefix?

Menghuraikan XML dengan Ruang Nama Menggunakan SimpleXML

Dalam senario ini, anda mempunyai dokumen XML dengan ruang nama XML dan anda mahu menghuraikannya menggunakan SimpleXML . Walaupun contoh yang diberikan gagal, adalah mungkin untuk mencapai hasil yang diingini dengan SimpleXML tanpa mengisytiharkan awalan ruang nama.

Penyelesaian:

$xml = new SimpleXMLElement($xmlContent);

foreach ($xml->xpath('//event:event') as $event) {
    var_export($event->xpath('event:sessionKey'));
}

Penjelasan:

Daripada mendaftarkan awalan ruang nama, anda hanya boleh memasukkan ruang nama penuh awalan dalam ungkapan XPath. Dalam kes ini, untuk ruang nama "acara":

  • e:acara menjadi acara:acara
  • e:sessionKey menjadi acara:sessionKey

Keputusan:

Kod kini akan menggelung dengan betul melalui semua event:event nod dan memaparkan nilai event:sessionKey nodes.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghuraikan XML dengan Ruang Nama Menggunakan SimpleXML Tanpa Mengisytiharkan Awalan?. 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