ホームページ >バックエンド開発 >PHPチュートリアル >SimpleXML を使用してカスタム名前空間内の要素にアクセスする方法

SimpleXML を使用してカスタム名前空間内の要素にアクセスする方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-08 08:31:011019ブラウズ

How to Access Elements in a Custom Namespace Using SimpleXML?

SimpleXML でのカスタム名前空間の処理

質問:

カスタム名前空間を含む XML ドキュメント内名前空間の場合、SimpleXML 解析はその名前空間からの要素を公開できません。これはどのように解決できますか?

回答:

SimpleXML を使用してカスタム名前空間要素にアクセスするには、名前空間プレフィックスを登録して使用する必要があります。これは通常、最初の引数として名前空間プレフィックスを指定し、2 番目の引数として true を指定して再帰的マッチングを有効にする Children() 関数を使用して実現されます。

<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>

これは出力します:

link:  qweqwe
genre: asdasd

名前空間プレフィックスを登録すると、カスタム名前空間要素にアクセスし、children() を使用してその値を取得できるようになります。

以上がSimpleXML を使用してカスタム名前空間内の要素にアクセスする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。