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

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

Susan Sarandon
Susan Sarandonオリジナル
2024-11-07 07:34:02881ブラウズ

How Can I Access Elements in Custom Namespaces Using SimpleXML?

PHP 名前空間 SimpleXML の課題

問題:

カスタム名前空間を使用する XML を解析する場合SimpleXML、これらの名前空間内の要素にはアクセスできません。

XML 構造:

<code class="xml"><?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></code>

解決策:

要素にアクセスするにはカスタム名前空間では、最初の引数として名前空間 URL を指定して Children() メソッドを使用します。

<code class="php">$rss = simplexml_load_string($xmlString);

foreach ($rss->channel as $channel) {
    echo 'link: ', $channel->link, "\n";
    echo 'genre: ', $channel->children('moshtix', true)->genre, "\n";
}</code>

出力:

link: qweqwe
genre: asdasd

このアプローチにより、内部の要素をターゲットにしてアクセスできます。指定された名前空間を使用して、複雑な名前空間構造を持つ XML の解析を容易にします。

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

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