ホームページ >バックエンド開発 >PHPチュートリアル >PHP で SimpleXML を使用してカスタム名前空間内の XML 要素にアクセスするにはどうすればよいですか?

PHP で SimpleXML を使用してカスタム名前空間内の XML 要素にアクセスするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-05 21:15:02398ブラウズ

How do I access XML elements within custom namespaces using SimpleXML in PHP?

PHP の SimpleXML を使用した XML 名前空間

PHP でカスタム名前空間を含む XML ドキュメントを操作する場合、SimpleXML は、これらの名前空間を利用する要素を認識しないことがあります。デフォルト。これらの要素に効果的にアクセスするには、別のメソッドを使用できます。

オプションの名前空間プレフィックスを指定した Children() の使用:

1 つのアプローチは、children() メソッドを次のように利用することです。オプションの名前空間プレフィックス引数を true に設定します。これにより、カスタム名前空間要素にアクセスできるようになります。

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

このアプローチでは、リンク要素とジャンル要素が正常に出力され、カスタム moshtix 名前空間内の要素へのアクセスが提供されます。

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

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