为什么Qt在加载XML文件时会丢失我的精简空间unicode字符?
发布时间:2020-12-16 22:55:38 所属栏目:百科 来源:网络整理
导读:我有一个 XML文档,其中一部分包含以下内容: math display='block'mtext#x2009;/mtext/math 如果将其加载到Qt(特别是我发现此问题的Qt MathML小部件),则QDomDocument对象将丢失unicode精简空格字符(U 2009).这个Python示例代码演示了这个问题: from PyQt4.Q
我有一个
XML文档,其中一部分包含以下内容:
<math display='block'><mtext> </mtext></math> 如果将其加载到Qt(特别是我发现此问题的Qt MathML小部件),则QDomDocument对象将丢失unicode精简空格字符(U 2009).这个Python示例代码演示了这个问题: from PyQt4.QtXml import * d = QDomDocument() d.setContent("<math display='block'><mtext> </mtext></math>") print repr(unicode(d.toString())) 此代码的输出是: u'<math display="block">n <mtext/>n</math>n' 在精简空间之后插入额外的非空格字符会使精简空间丢失. 这是我的错误,XML功能,还是Qt有错误? 解决方法
从
QDomDocument’s documentation开始:
所以这样你就不会丢失只有空格的数据(例如C中): QXmlSimpleReader reader; QXmlInputSource source; QDomDocument dom; source.setData(QString("<mtext> </mtext>")); dom.setContent(&source,&reader); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |