我有一个我在代码中构造的XElement。它(概念上)有2组节点。如果我只打印出来,我会得到一个格式很好的Xml文件,但所有节点都在一起。如果我在两组之间添加几个换行符以便于理解,我会丢失所有格式。 如何在两组之间添加一个小的中断,并保持其余格式?
示例:
这是默认值:
<root>
<node>1.1</node>
<node>1.2</node>
<node>2.1</node>
<node>2.2</node>
</root>
这是我添加休息时间:
<root>
<node>1.1</node>
<node>1.2</node>
<node>2.1</node><node>2.2</node></root>
这就是我想要的:
<root>
<node>1.1</node>
<node>1.2</node>
<node>2.1</node>
<node>2.2</node>
</root>
答案 0 :(得分:1)
查看已发布的解决方案here。我觉得用干净的解决方案是不可能的。我尝试了几种方法,但没有用。我也查看了System.Linq.Xml源代码,但无法真正找到它为什么这样做。
另一种选择是首先执行ToString
,然后在此之后添加换行符(如果知道哪些节点需要换行符,则使用替换):
result = result.Replace("<parentNode>", Environment.NewLine + "<parentNode>");
但这可能会再次破坏你的缩进。