2013-11-15 59 views
0

你好,一般是一個問題,我用XML通過C#XMLdocument工作,保存該「文件」中,有這樣的事情後:XML額外的自由空間

<Name></Name>

保存後:

<Name> 
</Name> 

如何刪除多餘的空格?我已經嘗試過:doc.PreserveWhitespace=true;保存之前和加載之前。結果不是一個可以刪除所有空格的結果。 XML文檔(大量)變得視覺上不可讀。 我已經試過了,結果一樣。並需要編碼Windows-1251爲什麼XmlDocument做這件壞事?這個自由或空白對我和我的「程序」都很重要。 問題解決了。謝謝大家

+0

你在你保存後觀看的XML該文件?它有可能爲你做格式化? –

+0

此XML文檔用於在保存在我的程序中後載入數據庫,這是錯誤的基礎。文檔變得不可讀。加載和保存後,格式化必須保留在節點的位置上。 –

回答

2

可以做到。你一定要幫助控制格式選項,當您保存文檔:

XmlDocument doc = new XmlDocument(); 

using (var wr = new XmlTextWriter(fileName)) 
{ 
    wr.Formatting = Formatting.None; 
    doc.Save(wr); 
} 

或者你可以微調與XmlWriterSettings進一步:

var settings = new XmlWriterSettings 
{ 
    Indent = false, 
    NewLineChars = String.Empty 
}; 
using (var wr = XmlWriter.Create(fileName, settings)) 
{ 
    wr.Formatting = Formatting.None; 
    doc.Save(wr); 
}