我有一个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