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>
(これは恐ろしく見えますが、その後に NEWLINE があり

、このエディターでは、そこにあるものを表示することができませんでした。そのため、行の間に空の行があるように見えます。)
これは、逆シリアル化した後に得られるものです。
CREATE FUNCTION func(a INT) RETURNS INT
BEGIN
return 1;
END
ご覧のとおり、改行が二重になっています...修正方法の手がかりはありますか?
ありがとう