我有一个使用 Qt 将自由文本输入序列化到 XML 节点的方法。此文本可能包含换行符。问题是,当我序列化此文本并再次反序列化时,输出流中会插入一些额外的换行符。
这是我的序列化方法:
QDomElement textElement = doc.createElement("Sql");
QDomText cdata = doc.createTextNode(m_sql);
textElement.appendChild(cdata);
这是我要序列化的文本:
CREATE FUNCTION func(a INT) RETURNS INT
BEGIN
return 1;
END
这是我在序列化文件中得到的:
<Sql>CREATE FUNCTION func(a INT) RETURNS INT

BEGIN

return 1;

END

</Sql>
(我知道这看起来很糟糕,但是之后有新行,

并且这个编辑器无法显示它们,因为它们在那里,这就是为什么行之间似乎有一个空行。)
这就是我反序列化后得到的:
CREATE FUNCTION func(a INT) RETURNS INT
BEGIN
return 1;
END
所以你可以看到换行符加倍......任何线索如何解决它?
谢谢