【发布时间】:2012-11-07 07:53:00
【问题描述】:
我尝试解析包含如下属性标签的 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)
有人有什么想法吗?提前致谢!
【问题讨论】:
-
您不应该使用
QDomDocument::implementation()来实现吗? -
@DanMilburn 当我尝试将元素添加到我的 QDomDocument 时,setInvalidDataPolicy(..) 有效。但不适用于 setContent 函数。但我仍然搜索以解析我的无效数据....目前我尝试使用 qXmlStreamReader 来完成它
标签: c++ qt xml-parsing