XML换行符的问题
最近要完成一个功能,将设备中数据库中的数据导出成xml文件,可以方便的用excel查看。 主要的实现就是QT中的QXmlStreamWriter类。 其中有一个功能就是要求excel中的单元格中的数据过多时,可以换行。一开始的代码如下: QXmlStreamWriterxmlWriter; xmlWriter.writeStartElement("Data"); xmlWriter.writeAttribute("ss:Type",数据类型); xmlWriter.writeCharacters(数据1+“
”+数据2); xmlWriter.writeEndElement(); 原本以为只要加入了“
”换行符就可以了。但是writeCharacters方法会把‘&’字符转义为"&",这样就不会达到换行的效果。 修改之后的代码为:
QXmlStreamWriterxmlWriter; xmlWriter.writeStartElement("Data"); xmlWriter.writeAttribute("ss:Type",数据类型); xmlWriter.writeCharacters(数据1); xmlWriter.writeEntityReference(QString("#x0A").toString()); xmlWriter.writeCharacters(数据2); xmlWriter.writeEndElement(); writeEntityReference方法会自动的在“#0xA”首加上‘&’,在尾加上';',从而能达到换行的效果。
问题不是什么大问题,但是让我纠结了好久,希望能帮到遇到同样问题的朋友。 目前只是想到了这个方法,如果哪位大神有更好的方法,请赐教。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |