繁体   English   中英

向XElement添加空白行,保留其他格式

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM