我做了一个PHP脚本来解析XML文件,但是当我尝试解析它时,出现了一个错误:
2:DOMDocument :: load():命名空间前缀edf代表的info未在/users/zzz/testing/meta.xml的第2行中定义。
我一直在寻找解决方法,但我找不到,所以我在这里发布。正如您所见,我正在使用DOMDocument类。
我的XML解析代码如下:
路径和所有内容都是正确的,我很确定。当我移除前缀时,它可以正常工作。XML如下:
2:DOMDocument :: load():命名空间前缀edf代表的info未在/users/zzz/testing/meta.xml的第2行中定义。
我一直在寻找解决方法,但我找不到,所以我在这里发布。正如您所见,我正在使用DOMDocument类。
我的XML解析代码如下:
$dom = new DOMDocument();
$metaXML = $dom->load($path."/meta.xml");
路径和所有内容都是正确的,我很确定。当我移除前缀时,它可以正常工作。XML如下:
<meta>
<info gamemodes="race" type="map" edf:represent="false"></info>
</meta>
edf:represent="false"会导致错误。我不想手动删除edf
命名空间前缀,因为这不是我想要解析的唯一XML文件。有数百个文件而且数量还在增加。
所以,我的问题是如何忽略这个错误(只针对XML命名空间)或如何通过DOMDocument
类定义/删除命名空间前缀?
if(!metaXML) { ... }
,但它仍然返回一个错误。 - GTX