用C#创建XML, XML格式化输出

时间:2023-03-09 00:32:03
用C#创建XML, XML格式化输出

demo:

XmlDocument doc = new XmlDocument();
XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "GB2312", null);
doc.AppendChild(dec);
//创建一个根节点(一级)
XmlElement root = doc.CreateElement("First");
doc.AppendChild(root);
//创建节点(二级)
XmlNode node = doc.CreateElement("Seconde");
//创建节点(三级)
XmlElement element1 = doc.CreateElement("Third1");
element1.SetAttribute("Name", "Sam");
element1.SetAttribute("ID", "");
element1.InnerText = "Sam Comment";
node.AppendChild(element1); XmlElement element2 = doc.CreateElement("Third2");
element2.SetAttribute("Name", "Round");
element2.SetAttribute("ID", "");
element2.InnerText = "Round Comment";
node.AppendChild(element2); root.AppendChild(node);
doc.Save(@"d:\bb.xml");
Console.Write(doc.OuterXml);

格式化输出函数:

private static string formatXml(object xml){
XmlDocument xd;
if(xml is XmlDocument) {
xd=xml as XmlDocument;
}else{
xd = new XmlDocument();
xd.LoadXml(xml as string);
}
StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
XmlTextWriter xtw = null;
try{
xtw = new XmlTextWriter(sw);
xtw.Formatting = Formatting.Indented;
xtw.Indentation = ;
xtw.IndentChar = '\t';
xd.WriteTo(xtw);
}finally{
if (xtw != null)
xtw.Close();
}
return sb.ToString();
}