如何格式化一些XML并将其转换为包含各个行的字符串数组
本文关键字:包含各 数组 字符串 转换 格式化 XML | 更新日期: 2023-09-27 18:04:40
将一些Xml转换为缩进良好/格式化的Xml并随后访问生成的Xml的各个行的最佳方法是什么?我想问题的第一部分(缩进/格式化)可以使用xmltextwwriter或类似的东西来解决。但是如何从结果中得到一行的数组呢?我还得再把绳子劈开吗?还有更优雅的选择吗?
提前感谢!
如何漂亮地打印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();
}