我的 XML 文件的缩进一直有问题。每次我从某个服务器加载它们时,XML 节点都乱七八糟地排列在几行上。我想编写一个快速应用程序来正确缩进节点。即:
<name>Bob<name>
<age>24</age>
<address>
<stnum>2</stnum>
<street>herp derp st</street>
</address>
目前它的结果是:
<name>bob</name><age>24</age>
<address>
<stnum>2</stnum><street>herp derp st</street>
</address>
因为我无法触及给我这些 xml 文件的内部程序,并且在没有程序的情况下重新缩进它们会花费很长时间,所以我想编写一个快速程序来为我完成这项工作。当我使用 XMLdocument 库时,它只读取节点的信息。所以我的问题是,什么是逐行读取文件然后为我重新缩进的好方法。所有 xml 节点都相同。
谢谢。
最佳答案
您可以使用 XmlTextWritter 类。更具体地说,.Formatting = Formatting.Indented。
这是我在这篇博文中找到的一些示例代码。 http://www.yetanotherchris.me/home/2009/9/9/formatting-xml-in-c.html
public static string FormatXml(string inputXml)
{
XmlDocument document = new XmlDocument();
document.Load(new StringReader(inputXml));
StringBuilder builder = new StringBuilder();
using (XmlTextWriter writer = new XmlTextWriter(new StringWriter(builder)))
{
writer.Formatting = Formatting.Indented;
document.Save(writer);
}
return builder.ToString();
}
关于c# - 读取 XML 文件并缩进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9205073/