PHP:调用子标签simplexml

时间:2010-05-25 08:08:48

标签: php xml parsing

尝试使用PHP解析YouTube Feed

simplexml_load_file();

我可以非常简单地使用

访问其他标签
$xml->id;

当我尝试访问

<openSearch:totalResults>

$xml->openSearch->totalResults;

我没有得到任何结果

2 个答案:

答案 0 :(得分:4)

openSearch是一个命名空间 - 它不是标记的名称,也不是父类,或类似的东西。在文档的某处,将有一个名为xmlns:openSearch的属性,它定义了openSearch命名空间(带有URL)。

您可以使用children方法获取某个命名空间的子项,并执行以下操作:

$xml->children('openSearch', true)->totalResults

(您也可以使用命名空间的完整URL而不是'openSearch'并将true保留在最后,如果他们更改了标记或者从其他地方解析了类似的提要,这可能会有所帮助使用不同的名称空间前缀)

答案 1 :(得分:0)

这些元素位于不同的XML命名空间中,以获取您需要执行的操作:

$xml->children('openSearch', true);

然后在返回的集合中,您将找到所需的元素。