我正在处理的一个项目需要解析来自供应商的 XML 文档,但他们提供了无效的 XML,该 XML 具有未声明的命名空间的属性。getAttribute($name)
当我尝试两者时忽略$node->getAttribute('prod:amount')
它$node->getAttribute('amount')
我做错了什么,还是有办法以某种方式伪造定义?
编辑提供 XML 摘录和 PHP。
XML:
<order>
<item id="85127" prod:id="1397" prod:amount="12.99">
<desc><![CDATA[...]]></desc>
</item>
<item id="85128" prod:id="93" prod:amount="24.99">
<desc><![CDATA[...]]></desc>
</item>
...
</order>
PHP:
$doc = new DOMDocument;
$doc->load('URI');
foreach($doc->getElementsByTagName("item") as $node) {
$cost = $node->getAttribute("amount");
$id = $node->getAttribute("prod:id");
print_r($cost); //never outputs
}