加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

纠正Doxygen XML输出中的错误

发布时间:2020-12-16 22:50:30 所属栏目:百科 来源:网络整理
导读:我目前正在为doxygen XML输出编写解析器.部分原因是出于学术原因,因为doxygen / addons / doxmlparser的代码很古老. 我正在使用QXmlStreamReader来解析XML,并在某些属性中引发错误.例如,doxygen生成以下XML: ...listofallmembers...member refid="qset_1ope
我目前正在为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&amp;</name></member>
...
</listofallmembers>

这个refid =“qset_1operator&”当然是一个问题:

XmlStreamReaderError: Expected '#' or '[a-zA-Z]',but got '"'.

其他错误包括具有<> XML属性中的字符(和其他字符).

我知道这些角色必须由他们的& lt;,& gt;等对应物替换.

当我不能使用Qt的类甚至查看XML时,我将如何轻松(当然自动)更正XML?

解决方法

一种可能性是解决错误并在它们出现时手动修复它们,迭代XML直到它格式正确.请参阅此Stackoverflow问题:
Ignoring a Invalid XML-Tag using Qdom?

您还可以在处理之前使用tidy library修复输入.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读