【整理, 内容来源于网络及本人实践】
前几天写程序的时候,遇到一个问题,我需要返回一个字符串给同事,其内容是XML的标记。但是同事在日志里翻看记录的时候,发现整个xml中没有一个换行回车,导致他看的时候太难受。于是要求我返回的时候先把字符串处理成一个具有xml格式的串,再返回给他。
其实很简单,自己实现下面一个函数就行
public string FormatXML(string str)
{
System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
doc.LoadXml(str);
System.Text.StringBuilder stringBuilder = new System.Text.StringBuilder();
System.IO.StringWriter stringWriter = new System.IO.StringWriter(stringBuilder);
System.Xml.XmlTextWriter xmlWriter = new System.Xml.XmlTextWriter(stringWriter);
xmlWriter.Formatting = System.Xml.Formatting.Indented;
doc.WriteTo(xmlWriter);
return stringBuilder.ToString();
}
调用的时候如下
string text = "<users><user><name>wang</name><age>12</age></user><user/><user><name>Li</name><age>14</age></user></users>";
string xmlText = FormatXML(text);
xmlText和text的内容是一样的,只是多了换行和缩进。