我有一個XmlDocument
這樣的:的Xml InnerXml壓痕問題
<Root>
<Settings>
<PresentationSettings>
</PresentationSettings>
</Settings>
</Root>
當我設置的<PresentationSettings>
這個文本InnerXml
...
<Desktop>
<WidgetElements>
<WidgetElement Name="1">
</WidgetElement>
<WidgetElement Name="2">
</WidgetElement>
</WidgetElements>
</Desktop>
...,輸出文件被保存像這樣:
<Root>
<Settings>
<PresentationSettings>
<Desktop>
<WidgetElements>
<WidgetElement Name="1">
</WidgetElement>
<WidgetElement Name="2">
</WidgetElement>
</WidgetElements>
</Desktop>
</PresentationSettings>
</Settings>
</Root>
看來InnerXml
的根(即<Desktop>
)從右側縮進列開始,但其餘的InnerXml
保留它的原始縮進。我嘗試了很多方法,但他們都給出了完全相同的輸出。我試過的方法是:
XmlTextWriter
與Formatting = Formatting.Indented
。XmlWriter
與XmlWriterSettings { Indent = true }
。- 使用上述兩種方法轉換爲
XDocument
。 - 使用
XmlDocumentFragment
。
任何人都可以指向我的寫作方向嗎?我究竟做錯了什麼?
白色空間是不是在XML顯著 - 爲什麼你想「解決」這個問題? – Oded 2012-03-19 20:52:50
我對事物的完美順序有點堅果。 :P儘管它幾乎不會影響我的應用程序,但我仍然想知道爲什麼會發生這種情況,以及如何修復它。 – Yogesh 2012-03-19 21:06:17
這是因爲空白對XML沒有意義 - 這並不重要,爲什麼浪費代碼和CPU週期呢? – Oded 2012-03-19 21:27:28