我有以下形式的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