0

我尝试解析包含如下属性标记的 XML 文件:

a="(USA & CANADA)"

但我发现它不是格式正确的 XML,因为“&”应该是 URL 编码 (&)

有没有办法告诉 QDom 忽略无效文本来解析文件?因为我不能只修复所有 XML 文件。

我非常感谢任何解决此问题的方法。

编辑:我发现有一个函数 setInvalidDataPolicy(AcceptInvalidChars) 但这在使用 QDomDocument 的 setContent() 时不起作用,或者我只是以错误的方式使用它......

QDomDocument xmlcontent;
QDomImplementation impl;
impl.setInvalidDataPolicy(QDomImplementation::AcceptInvalidChars);
QFile XMLContentFile(pathString);
xmlcontent.setContent(&XMLContentFile)

有人有什么想法吗?提前致谢!

4

1 回答 1

1

我解决了这个问题。我现在使用 QXmlStreamReader 解析 XML 文件,当它引发错误时,我启动一个自己的函数来修复 XML 文件。然后重新启动我的解析程序。这可以完成这项工作,我找不到更好的方法来实现这一目标。

于 2012-11-08T12:49:07.033 回答