gpt4 book ai didi

c++ - 使用 Qdom 忽略无效的 XML 标签?

转载 作者:行者123 更新时间:2023-11-28 07:53:18 25 4
gpt4 key购买 nike

我尝试解析包含如下属性标记的 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)

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

最佳答案

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

关于c++ - 使用 Qdom 忽略无效的 XML 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13265366/

25 4 0