我正在使用DataSet.ReadXML和DataSet.WriteXML来读取和更新XML文件。在某些地方,我有一个文本列,其中可能包含回车符、换行符( )
当我将 放到输入文件中时,ReadXML可以正常工作,并且我得到了\r\l列的值。但是,当我使用DataSet.WriteXML进行更新时,输出文件在我希望使用 的任何位置都会显示换行符
有没有一种方法可以告诉WriteXML对值中出现的特殊字符进行编码?
我看过XmlWriter,但没有看到任何相关的东西。
发布于 2010-10-06 21:58:50
作为回答,我提出了一个问题:文本列是否编码在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方法。
希望这能有所帮助。
https://stackoverflow.com/questions/3872868
复制相似问题