在xml中找不到自定义命名空间

时间:2010-09-18 08:14:01

标签: xml xpath simplexml

有人可以帮我解决这个问题。

我需要在xml中找到gml:pos命名空间。

但是,非常重要! - 在循环的$ item部分

我真的不知道怎么做到这一点。

根据google-api docs,命名空间位于另一个自定义命名空间中。

$feed = simplexml_load_string($feedXml);
foreach ($feed->entry as $item) {

//do stuff
$i++;
}

修改 我发现这才起作用。

$namespace = $feed->getDocNamespaces();
$ns_gml=$item->children($namespace['georss'])->children($namespace['gml']);

感谢adv,Rich

1 个答案:

答案 0 :(得分:0)

您需要注册这些名称空间:

<?php
  $feed->registerXPathNamespace("georss", "http://www.georss.org/georss");
  $feed->registerXPathNamespace("gml", "http://www.opengis.net/gml");
  // Now you can use gml:* and georss:* in XPath:
  // $feed->xpath('/entry/gml:...');
?>