如何格式化一些XML并将其转换为包含各个行的字符串数组

本文关键字:包含各 数组 字符串 转换 格式化 XML | 更新日期: 2023-09-27 18:04:40

将一些Xml转换为缩进良好/格式化的Xml并随后访问生成的Xml的各个行的最佳方法是什么?我想问题的第一部分(缩进/格式化)可以使用xmltextwwriter或类似的东西来解决。但是如何从结果中得到一行的数组呢?我还得再把绳子劈开吗?还有更优雅的选择吗?

提前感谢!

如何格式化一些XML并将其转换为包含各个行的字符串数组

如何漂亮地打印XML?

string FormatXml(String Xml)
{
     try
     {
         XDocument doc = XDocument.Parse(Xml);
         return doc.ToString();
     }
     catch (Exception)
     {
         return Xml;
     }
 }

选项为:https://stackoverflow.com/a/203581/1163786

如何从XML中构建一个行数组?

string[] lines = xml.Split(new string[] { "'r'n", "'n" }, StringSplitOptions.None);

是否有更优雅的选择?

这取决于"优雅"对你意味着什么。如果你觉得正则表达式优雅而强大,那么上面的解决方案就是优雅的解决方案之一。如果您更喜欢非正则表达式解决方案,那么使用StringReader可能值得考虑:

using (System.IO.StringReader reader = new System.IO.StringReader(xml)) {
    string[] lines = = reader.ReadLine();
}