xml 速查
//命名空间
using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument(); //导入指定xml文件 xml.Load(path);//指定一个节点 XmlNode root=xml.SelectSingleNode("/root"); //获取节点下所有直接子节点 XmlNodeList childlist=root.ChildNodes; //判断该节点下是否有子节点 root.HasChildNodes; //获取同名同级节点集合 XmlNodeList nodelist=xml.SelectNodes("/Root/Node1"); //生成一个新节点 XmlElement node=xml.CreateElement("Node2"); //将节点加到指定节点下,作为其子节点 root.AppendChild(node); //将节点加到指定节点下某个子节点前 root.InsertBefore(node,root.ChildeNodes[i]); //为指定节点的新建属性并赋值 node.SetAttribute("id","666"); //为指定节点添加子节点 root.AppendChild(node); //获取指定节点的指定属性值 string id=node.Attributes["id"].Value; //获取指定节点中的文本 string content=node.InnerText; //保存XML文件 xml.Save(path);
Demo:
public MainWindow() { InitializeComponent(); //创建Xml操作对象 XmlDocument xmlDocument = new XmlDocument(); //从某个地址加载xml文件 xmlDocument.Load(@"XMLFile1.xml"); //获取xml文档的root节点(每个xml有且只有一个root节点) XmlElement xmlRoot = xmlDocument.DocumentElement; //DocumentElement获取文档的root //创建Node XmlElement xmlElement = xmlDocument.CreateElement("公司名称"); //添加Node xmlRoot.AppendChild(xmlElement); //创建Attribute XmlAttribute xmlAttribute1 = xmlDocument.CreateAttribute("百度1"); XmlAttribute xmlAttribute2 = xmlDocument.CreateAttribute("百度2"); XmlAttribute xmlAttribute3 = xmlDocument.CreateAttribute("百度3"); //设置Attribute的Value xmlAttribute1.Value = "111"; xmlAttribute2.Value = "111"; xmlAttribute3.Value = "111"; //把Attribute添加到Node xmlElement.SetAttributeNode(xmlAttribute1); xmlElement.SetAttributeNode(xmlAttribute2); xmlElement.SetAttributeNode(xmlAttribute3); //创建一个属性 这个属性给root XmlAttribute xmlAttribute4 = xmlDocument.CreateAttribute("姓名"); //设置属性的value xmlAttribute4.Value = "老王"; //把这个属性添加给root节点 xmlRoot.SetAttributeNode(xmlAttribute4); ////创建一个Node 这个Node给“公司”Node XmlAttribute xmlAttribute5 = xmlDocument.CreateAttribute("技术"); //设置属性的value xmlAttribute5.Value = "c#"; //xmlElement2 是 “部门” XmlElement xmlElement2 = xmlDocument.CreateElement("部门"); //部门 Node 添加 技术 Attribute xmlElement2.SetAttributeNode(xmlAttribute5); //xmlElement是 公司名称Node xmlElement.AppendChild(xmlElement2); //保存到xml文件 xmlDocument.Save(@"XMLFile1.xml"); }
要分清 元素 属性 属性值 三者的区别
初始Xml文档只有一个Root节点
代码运行后: