在源xml节点文本包含转义特殊字符时解析QDomeNode

时间:2016-02-10 15:41:29

标签: xml qt parsing qtxml

在使用Qt DOM xml解析器时,我遇到了包含& lt;的节点元素的问题。在它的文字中。 原始的xml可能如下所示:

table1
------
col1     

Delete from table1 a where 1<(select count(b.num1) from table1 b where b.col1=a.col1);

但解析器显然会翻译&amp; lt;和&amp; gt;文本到&lt;和&gt;,可能在调用QDomDocument :: setDocument时。结果是在名称节点上调用QDomNode :: text()会将名称命名为&#34; 1&#34;而不是预期的&#34;&lt; Beige&gt; 1&#34;。

有没有一种简单的方法可以解决这个问题,即名称节点中的实际文本可能包含转义的特殊字符?最好还是允许我继续使用Qt DOM解析器。

---编辑---

刚刚使用基于QXmlDefaultHandler的SAX阅读器进行测试,结果相同 QXmlDefaultHandler :: characters只会返回&#34; 1&#34;对于Name元素。

0 个答案:

没有答案