使用 Linq to Xml 间隔输出
如何使用 Linq to Xml 强制某些节点之间有额外的间距?我希望输出以下内容:
<root>
<group>
<leaf />
</group>
<group>
<leaf />
</group>
</root>
通过添加空 XText,它只会破坏格式。
var root =
new XElement("root",
new XText(""),
new XElement("group",
new XElement("leaf")),
new XText(""),
new XElement("group",
new XElement("leaf")),
new XText(""));
Console.WriteLine(root.ToString());
导致
<root><group><child /></group><group><child /></group></root>
How is it possible to force extra spacing between some nodes using Linq to Xml? I am looking to output the following:
<root>
<group>
<leaf />
</group>
<group>
<leaf />
</group>
</root>
By adding Empty XText, it only destroys the formatting.
var root =
new XElement("root",
new XText(""),
new XElement("group",
new XElement("leaf")),
new XText(""),
new XElement("group",
new XElement("leaf")),
new XText(""));
Console.WriteLine(root.ToString());
resulting in
<root><group><child /></group><group><child /></group></root>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这是一个解决方案,但它并不漂亮...
将 XText 更改为 XComment 并执行类似的操作...
编辑:Fogott 转义小于...
This is a solution but it´s not beautiful...
Change XText to XComment and do something like this...
Edit: Fogott to escape lesser than ...
传递
XmlTextWriter
(使用格式
设置为Formatting.Indented
) 为root.WriteTo()
。例如:
Pass an
XmlTextWriter
(withFormatting
set toFormatting.Indented
) toroot.WriteTo()
.For example: