用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();
- }