我正在DOMDocument
使用DOMDocument::loadHTML
.
它出现了各种错误:
ID x 已在实体第 X 行中定义
有没有办法让DOMDocument
(或整洁)忽略或去除重复的元素 ID,所以它实际上会创建DOMDocument
?
谢谢。:)
我正在DOMDocument
使用DOMDocument::loadHTML
.
它出现了各种错误:
ID x 已在实体第 X 行中定义
有没有办法让DOMDocument
(或整洁)忽略或去除重复的元素 ID,所以它实际上会创建DOMDocument
?
谢谢。:)
快速搜索该主题会发现这个(不正确的)错误报告:
http://bugs.php.net/bug.php?id=46136
最后一个回复说如下:
您正在使用 HTML 4 规则来加载 XHTML 文档。使用 load() 方法解析为 XML 或 libxml_use_internal_errors() 函数忽略警告。
我无法确定您是否出于同样的原因遇到此问题,因为您没有包含对正在加载的 HTML 页面的引用。无论如何,使用libxml_use_internal_errors()
至少应该抑制错误。
HTML 文档中的 ID通常是唯一的,因此最好的解决方案仍然是验证您的文档,如果可能的话。
根据定义,ID 是唯一的。如果不是,您应该使用类来代替(也不是名称,它适用的地方)。
我怀疑您是否可以强制 XML 工具忽略重复的 ID,这将使它们处理无效的 XML 文档。
使用 Exceptions 处理重复的 ID,并重命名第二个 id。或者,将同一父级的子元素中的元素与 ID 组合起来。
ID 在 XML 文件中是唯一的(在 XMLTree 的 rootElement 中)