我使用DataSet.ReadXML和DataSet.WriteXML来读取和更新XML文件。在某些地方,我有一个文本列,可能包含回车符,换行符(
)
当我将
放入输入文件时,ReadXML工作正常,我在列的值中得到\ r \ l。但是,当我使用DataSet.WriteXML进行更新时,输出文件会出现换行符,无论我希望在哪里
有没有办法告诉WriteXML编码出现在值中的特殊字符?
我看过XmlWriter,但看不到任何相关内容。
答案 0 :(得分:0)
我提出了一个问题;是CDATA部分编码的文本列?如果是这样,以下内容可能有所帮助:
How to preserve newlines in CDATA when generating XML?
如果没有,那么让它们成为CDATA应该有帮助(来自上面的链接):
Element element = xmldoc.createElement("TestElement");
xmldoc.appendChild(element);
element.appendChild(xmldoc.createCDATASection("first line\nsecond line\n"));
显然在你的情况下你不会构建字符串,但你可以尝试将你读到的字段放到CreateCDATASection方法中。
希望这有帮助。