首頁 >後端開發 >php教程 >如何使用 SimpleXML 存取自訂命名空間中的元素?

如何使用 SimpleXML 存取自訂命名空間中的元素?

Patricia Arquette
Patricia Arquette原創
2024-11-08 08:31:011049瀏覽

How to Access Elements in a Custom Namespace Using SimpleXML?

在SimpleXML 中處理自訂命名空間

問題:

問題:

在具有自訂的XML 文件中名稱空間,SimpleXML 解析無法公開該名稱空間中的元素。如何解決這個問題?

答案:
<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>

要使用 SimpleXML 存取自訂命名空間元素,需要註冊並使用命名空間前綴。這通常是使用Children() 函數來實現的,其中名稱空間前綴作為第一個參數,true 作為第二個參數以啟用遞歸匹配:
link:  qweqwe
genre: asdasd

這將輸出:透過註冊命名空間前綴,可以存取自訂命名空間元素並使用children()來擷取它們的值。

以上是如何使用 SimpleXML 存取自訂命名空間中的元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn