【发布时间】:2016-10-17 23:26:27
【问题描述】:
我已经阅读了这些主题: PHP library for parsing XML with a colons in tag names? 和 Simple XML - Dealing With Colons In Nodes 但我无法实施这些解决方案。
<item>
<title> TITLE </title>
<itunes:author> AUTHOR </itunes:author>
<description> TEST </description>
<itunes:subtitle> TEST </itunes:subtitle>
<itunes:summary> TEST </itunes:summary>
<itunes:image href="yoyoyoyo.jpg"/>
<pubDate> YESTERDAY </pubDate>
<itunes:block>no</itunes:block>
<itunes:explicit>no</itunes:explicit>
<itunes:duration>99:99:99</itunes:duration>
<itunes:keywords>key, words</itunes:keywords>
</item>
我只想获得 itunes:duration 和 itunes:image。这是我的代码:
$result = simplexml_load_file("http://blablabla.com/feed.xml");
$items = $result->xpath("//item");
foreach ($items as $item) {
echo $item->title;
echo $item->pubDate;
}
我尝试使用children() 方法,但是当我尝试使用print_r 时,它说节点不再存在。
【问题讨论】:
-
根据qualified names 的w3c 规则,必须在根元素或祖先元素中定义命名空间前缀。除非您的帖子是 sn-p,否则您的 XML 中的任何位置都不会定义
itunes命名空间,例如:xmlns:itunes="http://www.apple.com"。 -
这不是我的 XML,它来自我计划抓取它的网站。 =)