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 サイトの他の関連記事を参照してください。