用C#创建XML, XML格式化输出 - kingBook
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", "665"); element1.InnerText = "Sam Comment"; node.AppendChild(element1); XmlElement element2 = doc.CreateElement("Third2"); element2.SetAttribute("Name", "Round"); element2.SetAttribute("ID", "678"); 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 = 1; xtw.IndentChar = \'\t\'; xd.WriteTo(xtw); }finally{ if (xtw != null) xtw.Close(); } return sb.ToString(); }