PHP检索XML标记名

时间:2011-07-26 20:48:26

标签: php xml dom simplexml tagname

我实际上是这些XML的新东西。我使用http://www.php.net/manual/en/intro.dom.php

了解有关DOMDocument,DOMNOdeList等的信息

所以这就是问题..

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

上面的Feed返回一个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或者您可以使用上面的load方法中的字符串:)

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

2 个答案:

答案 0 :(得分:2)

您正在寻找getElementsByTagNameNS

答案 1 :(得分:2)

a10 jsut表示更新的元素来自不同的命名空间。冒号:在此上下文中是一个特殊字符。 在示例xml(后一个url)的开头,可以找到此命名空间的定义:<rss xmlns:a10="http://www.w3.org/2005/Atom" version="2.0">。 所以你需要getElementsByTagNameNS。我假设某些内容:getElementsByTagNameNS("http://www.w3.org/2005/Atom","updated")可能有所帮助。