我正在尝试使用 xpath 解析 blogspot feed,但它似乎不适用于我尝试的任何内容。我不确定这是因为名称空间还是什么原因,但我希望有人可以帮助我。这是代码:
$xml = simplexml_load_file('http://feeds.feedburner.com/blogspot/MKuf');
$next = $xml->xpath("//link[@rel='next']");
print_r($next);
这只是返回一个空数组,但它不应该是这样。我尝试只做链接或只是输入,但它仍然返回空。我可以在其上运行的唯一有效的是 *.任何帮助表示赞赏。
就像在对您的问题的评论中已经说过的那样,该文档有一个默认名称空间,您必须先注册该名称空间,然后才能使用 XPath 查询它。
由于链接的副本仅显示如何使用 DOM 执行此操作,因此我将添加一个 SimpleXml 示例
$feed = simplexml_load_file('http://feeds.feedburner.com/blogspot/MKuf');
$feed->registerXPathNamespace('f', 'http://www.w3.org/2005/Atom');
foreach ($feed->xpath('//f:link[@rel="next"]') as $link) {
var_dump($link);
}
手册页:http://de.php.net/manual/de/simplexmlelement.registerxpathnamespace.php http://de.php.net/manual/de/simplexmlelement.registerxpathnamespace.php
现场演示 http://codepad.viper-7.com/bP1CgW
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)