我目前正在为doxygen
XML输出编写解析器.部分原因是出于学术原因,因为doxygen / addons / doxmlparser的代码很古老.
我正在使用QXmlStreamReader来解析XML,并在某些属性中引发错误.例如,doxygen生成以下XML:
... <listofallmembers> ... <member refid="qset_1operator&" prot="public" virt="non-virtual"><scope>libDatabase::Set</scope><name>operator&</name></member> ... </listofallmembers>
这个refid =“qset_1operator&”当然是一个问题:
XmlStreamReaderError: Expected '#' or '[a-zA-Z]',but got '"'.
我知道这些角色必须由他们的& lt;,& gt;等对应物替换.
当我不能使用Qt的类甚至查看XML时,我将如何轻松(当然自动)更正XML?
解决方法
一种可能性是解决错误并在它们出现时手动修复它们,迭代XML直到它格式正确.请参阅此Stackoverflow问题:
Ignoring a Invalid XML-Tag using Qdom?
Ignoring a Invalid XML-Tag using Qdom?
您还可以在处理之前使用tidy library修复输入.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。