1

我实际上是这些 XML 东西的新手。我确实使用http://www.php.net/manual/en/intro.dom.php了解有关 DOMDocument、DOMNOdeList 等的内容

所以这里是问题..

http://jobhits.co.uk/services/rss?k=job

上面的提要返回一个 XML 文档。我可以使用这些代码成功检索标题、描述和链接等标签名称

$doc->load('http://jobhits.co.uk/services/rss?k=job');
$items = $doc->getElementsByTagName("item");

foreach($items as $item){
    $titles[] = $item->getElementsByTagName("title");
}

问题是该文档中有某种“类似标签名”

<a10:updated></a10:updated>

我试着用

$update[] = $item->getElementsByTagName("a10:updated");

..这是一个失败

这是一个示例 xml http://piratelufi.com/ark/gettagname.xml或者您可以使用上面的加载方法中的字符串:)

顺便说一句,我不能尽可能多地使用 simpleXML 和预定义类,谢谢:D

4

2 回答 2

2

你正在寻找getElementsByTagNameNS

于 2011-07-26T21:04:20.197 回答
2

jsuta10表示更新的元素来自不同的命名空间。在这种情况下,冒号:是一个特殊字符。在示例 xml(后一个 url)的开头,可以找到此命名空间的定义:<rss xmlns:a10="http://www.w3.org/2005/Atom" version="2.0">. 所以你需要getElementsByTagNameNS. 我认为类似的东西:getElementsByTagNameNS("http://www.w3.org/2005/Atom","updated")可能会有所帮助。

于 2011-07-26T21:06:39.153 回答