Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengakses Elemen dalam Ruang Nama Tersuai Menggunakan SimpleXML?
Mengendalikan Ruang Nama Tersuai dalam SimpleXML
Soalan:
Dalam dokumen XML dengan tersuai ruang nama, penghuraian SimpleXML gagal mendedahkan elemen daripada ruang nama itu. Bagaimanakah perkara ini boleh diselesaikan?
Jawapan:
Untuk mengakses elemen ruang nama tersuai menggunakan SimpleXML, anda perlu mendaftar dan menggunakan awalan ruang nama. Ini biasanya dicapai menggunakan fungsi children() dengan awalan ruang nama sebagai argumen pertama dan benar sebagai argumen kedua untuk mendayakan padanan rekursif:
<code class="php">$rss = simplexml_load_string( '<?xml version="1.0" encoding="utf-8"?> <rss version="2.0" xmlns:moshtix="http://www.moshtix.com.au"> <channel> <link>qweqwe</link> <moshtix:genre>asdasd</moshtix:genre> </channel> </rss>' ); foreach ($rss->channel as $channel) { echo 'link: ', $channel->link, "\n"; echo 'genre: ', $channel->children('moshtix', true)->genre, "\n"; }</code>
Ini akan menghasilkan:
link: qweqwe genre: asdasd
Dengan mendaftarkan awalan ruang nama, ia menjadi mungkin untuk mengakses elemen ruang nama tersuai dan mendapatkan semula nilainya menggunakan kanak-kanak().
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Elemen dalam Ruang Nama Tersuai Menggunakan SimpleXML?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!