Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk Mengakses Elemen Dalam Ruang Nama Tersuai Menggunakan SimpleXML PHP?
Perangkap Ruang Nama dengan SimpleXML PHP
Apabila menghuraikan dokumen XML dengan SimpleXML PHP, ruang nama tersuai boleh menimbulkan cabaran. Pertimbangkan XML berikut dengan ruang nama tersuai:
<code class="xml"><?xml version="1.0" encoding="utf-8"?> <rss version="2.0" xmlns:moshtix="http://www.moshtix.com.au"> <channel> <item> <link>qweqwe</link> <moshtix:genre>asdasd</moshtix:genre> ...</code>
Untuk mengakses elemen dalam ruang nama sedemikian, gelagat lalai SimpleXML tidak mudah. Begini cara untuk mengatasi cabaran ini:
Penyelesaian: Gunakan kanak-kanak() dengan Argumen Ruang Nama
Kaedah kanak-kanak() SimpleXML membolehkan anda menapis elemen berdasarkan ruang nama. Berikannya awalan ruang nama dan benar sebagai hujah kedua untuk turut mendapatkan maklumat ruang nama:
<code class="php">$rss = simplexml_load_string(...); foreach ($rss->channel as $channel) { echo 'link: ', $channel->link, "\n"; echo 'genre: ', $channel->children('moshtix', true)->genre, "\n"; }</code>
Dalam contoh ini, outputnya ialah:
link: qweqwe genre: asdasd
Dengan menggunakan pendekatan ini, anda boleh mengakses dan menggunakan elemen dengan berkesan dalam ruang nama tersuai apabila menghuraikan dokumen XML dengan SimpleXML PHP.
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Elemen Dalam Ruang Nama Tersuai Menggunakan SimpleXML PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!