2012-08-13 115 views
0

我想讀取一些xml文件。如何從XML文件中刪除隱形垃圾字符

,當我打開這些文件,用記事本/寫字板/ MS Word或任何瀏覽器,它是在原來的form.But打開,當我試圖用MS DOS,一股無形的chacter像「∩╗┐執行它「被看到。 我覺得「∩╗┐」是建立一個error.i正在尋找錯誤「的內容是不是在序言中不允許的。」

請告訴我,我怎樣才能從XML文件中使用C#代碼刪除此不可見的垃圾字符。

在此先感謝。

+0

它是一個字節順序標記? – CodeCaster 2012-08-13 08:35:23

+0

執行XML?在MS-DOS中?你的意思是你在控制檯窗口中打印它嗎? – 2012-08-13 08:38:30

+0

我不知道它是什麼?它在所有瀏覽器和幾乎所有編輯器中都是不可見的,但在MS Dos窗口中可以看到它。當我鍵入 C:> type test.xml – 2012-08-13 08:39:23

回答

0

那可能是UTF-8 byte-order mark。許多文本編輯器(例如Notepad ++和jEdit)允許您指定是否爲UTF-8編寫BOM。使用Windows記事本,您唯一的選擇是將該文件保存爲ANSI。

+0

謝謝先生。它幫助我解決了這個問題。 – 2012-08-13 10:34:46

1

確實聽起來像是字節順序標記。你的問題還不清楚,但如果確實必須編寫從C#這些文件沒有一個字節順序標記,你可以通過falseUTF8Encoding構造指定此:

XmlDocument xmlDoc = your_xml_document; 
using (TextWriter writer = new StreamWriter(output_filename, new UTF8Encoding(false)) 
{ 
    xmlDoc.Save(writer); 
} 
相關問題