[英]Add blank lines to XElement preserving other formatting
我有一个用代码构造的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>
查看此处发布的解决方案。 我有一个干净的解决方案是不可能的。 我尝试了几种方法,都无济于事。 我也查看了System.Linq.Xml源代码,但找不到真正的原因。
另一个选择是先执行ToString
,然后在其后添加换行符(如果知道哪些节点需要换行符,则使用替换):
result = result.Replace("<parentNode>", Environment.NewLine + "<parentNode>");
但这可能会再次使您缩进。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.