晚上的人。
首先要说的是,我已阅读How do I parse XML containing custom namespaces using SimpleXML?。
我正在从一个源代码解析一个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:namespace元素显示或可访问。可能是一个非常简单的解决方案,但任何想法的家伙?
答案 0 :(得分: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";
}