【问题标题】:Correct errors in Doxygen XML output更正 Doxygen XML 输出中的错误
【发布时间】:2012-12-02 06:47:15
【问题描述】:

我目前正在为 doxygen XML 输出编写解析器。部分是出于学术原因,也因为 doxygen/addons/doxmlparser 的代码很古老。

我正在使用 QXmlStreamReader 来解析 XML,它会在某些属性中引发错误。例如下面的 XML 是由 doxygen 生成的:

...
<listofallmembers>
...
<member refid="qset_1operator&" prot="public" virt="non-virtual"><scope>libDatabase::Set</scope><name>operator&amp;</name></member>
...
</listofallmembers>

这个refid="qset_1operator&amp;"当然是个问题:

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

其他错误包括在 XML 属性中包含 &lt;&gt; 字符(和其他字符)。

我知道这些字符必须替换为 &amp;lt;&amp;gt; 等对应的字符。

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

【问题讨论】:

    标签: xml qt doxygen


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2016-06-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-19
      • 2011-04-01
      • 2023-04-07
      • 2014-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多