【发布时间】:2016-07-11 01:38:30
【问题描述】:
我制作了一个解析 XML 文件的 PHP 脚本,当我尝试解析它时,出现错误:
2: DOMDocument::load(): 命名空间前缀 edf 用于表示信息是 未定义在 /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 类定义/删除命名空间前缀?
【问题讨论】:
标签: php xml xml-parsing xml-namespaces