我有以下形式的XML,我想用PHP解析(我无法更改XML的格式)。 SimpleXML和DOM似乎都不能处理不同的命名空间 - 任何人都可以给我示例代码吗?下面的代码没有给出结果。在PHP中使用多个名称空间解析XML
<atom:feed>
<atom:entry>
<atom:id />
<otherns:othervalue />
</atom:entry>
<atom:entry>
<atom:id />
<otherns:othervalue />
</atom:entry>
</atom:feed>
$doc = new DOMDocument();
$doc->load($url);
$entries = $doc->getElementsByTagName("atom:entry");
foreach($entries as $entry) {
$id = $entry->getElementsByTagName("atom:id");
echo $id;
$othervalue = $entry->getElementsByTagName("otherns:othervalue");
echo $othervalue;
}
'SimpleXMLElement-> children',或'一个DOMElement :: getElementsByTagNameNS(字符串$的namespaceURI,字符串$的localName)'(这将是没有'原子通过'atom'定义的URI,和'entry': '前缀),请仅仅为了它,找到SO上的数百个类似问题之一。这远远不是一个新问题。 – Wrikken
只是'$ doc-> getElementsByTagName(“entry”);'手册中的关键字是*本地名*。 – Gordon