2012-12-14 64 views
4

我目前正在編寫doxygen XML輸出的解析器。部分出於學術原因,因爲doxygen/addons/doxmlparser的代碼是古老的。糾正Doxygen XML輸出中的錯誤

我正在使用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?

回答