我有一个用代码构建的 XElement。它有(概念上)两组节点。如果我只是打印出来,我会得到一个格式很好的 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>
最佳答案
查看发布的解决方案 here .我的印象是使用干净的解决方案是不可能的。我尝试了几种方法,但无济于事。我还查看了 System.Linq.Xml 源代码,但无法真正找到它这样做的原因。
另一种选择是先执行 ToString
,然后在之后添加换行符(使用替换,如果您知道哪些节点需要换行符):
result = result.Replace("<parentNode>", Environment.NewLine + "<parentNode>");
但这可能会再次弄乱你的缩进。
关于c# - 向 XElement 添加空白行以保留其他格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12259710/