2010-10-06 53 views
1

我正在使用DataSet.ReadXML和DataSet.WriteXML來讀取和更新XML文件。在一些地方,我有一個文本列可能包含回車,換行(
如何在DataSet.WriteXML中編碼CR LF?

當我把
輸入文件,ReadXML的正常工作,我得到\ r \ l在列的值。但是,當我使用DataSet.WriteXML進行更新時,輸出文件出現帶有換行符的地方


有沒有辦法告訴WriteXML對出現在值中的特殊字符進行編碼?

我看過XmlWriter,但沒有看到任何相關的東西。

回答

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方法中。

希望這會有所幫助。

+0

好吧 - 我在輸入文件中用CDATA部分試過。這似乎與上面給出的 示例相同。它讀得很好,但WriteXML在寫回XML時將其轉換回換行符。 – shindigo 2010-10-06 14:10:47