Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengakses Elemen dalam Ruang Nama Tersuai Menggunakan SimpleXML?

Bagaimana untuk Mengakses Elemen dalam Ruang Nama Tersuai Menggunakan SimpleXML?

Patricia Arquette
Patricia Arquetteasal
2024-11-08 08:31:011021semak imbas

How to Access Elements in a Custom Namespace Using 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!

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