6

夕方の人。

最初に言うと、SimpleXML を使用してカスタム名前空間を含む XML を解析するにはどうすればよいですか? を読みました。.

気にしないでソースから XML ドキュメントを解析していますが、それらはカスタム名前空間を使用しています。

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:moshtix="http://www.moshtix.com.au">
  <channel>
   <item>
    <link>qweqwe</link>
    <moshtix:genre>asdasd</moshtix:genre>
...

例えば。SimpleXML を使用して解析すると、mostix: 名前空間の要素が表示されたりアクセス可能になったりすることはありません。おそらく本当に簡単な解決策ですが、アイデアはありますか?

4

1 に答える 1

7

通常、人々はchildren()を使用します。

$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";
}
于 2010-01-20T00:26:15.157 に答える