添加引用node
using System.Xml;
建立XML文件spa
XmlDocument xmldoc=new XmlDocument(); //加入XML的声明段落:<?xmlversion="1.0" encoding="utf-8"?> XmlDeclaration xmldecl=xmldoc.CreateXmlDeclaration("1.0", "utf-8", null); xmldoc.AppendChild(xmldecl); //保存建立好的XML文档 xmldoc.Save(@"D:\user.xml");
加载XML文件code
//方法一:Lode方法加载的是XML文件所在的路径 xmldoc.Load(@"D:\user.xml"); //方法二:LoadXml方法加载的是XML字符串 xmldoc.LoadXml("<user></user>");
建立节点xml
//建立根节点 XmlElement xmlroot = xmldoc.CreateElement("user"); xmldoc.AppendChild(xmlroot); //建立根节点的子节点
XmlElement ePerson=xmldoc.CreateElement("person");
xmlroot.AppendChild(ePerson);
获取节点blog
//获取根节点 XmlElement root = xmldoc.DocumentElement; //获取单个节点:若是有筛选到多个符合条件的,默认选第一个 XmlNode node=xmldoc.SelectSingleNode("user");//方法一:获取标签名为:user的节点 XmlNode node=xmldoc.SelectNodes("user").Item(0);//方法二:这种方法须要了解节点排列顺序才能够准确的获取想要的节点 XmlNode node=xmldoc.SelectSingleNode("user/person[@name='王五']")//方法三:指定了属性,进一步筛选 //获取该路径下全部节点的集合 XmlNodeList nodelist=xmldoc.SelectNodes("user/person");//方法一:获取user节点下的person节点集合 XmlNodeList nodelist=xmldoc.SelectSingleNode("user").ChildNodes;//方法二:获取user节点下的全部子节点 XmlNodeList nodelist=xmlroot.GetElementsByTagName("person")//方法三:获取根节点下的标签名为person的节点集合 //遍历节点 foreach(XmlNode childNode in nodelist) { Response.Write(childNode .Name); }
删除节点utf-8
//删除其下全部节点和其自己的属性以(只剩下标签) xmlroot.RemoveAll(); //删除指定节点,括号里传入的是节点名 xmlroot.RemoveChild(person);
设置属性以及文本节点文档
//方法一 person.SetAttribute("name","张三"); //方法二:这种方法能够用来获取和设置属性值,但前提是该属性要存在 person.Attributes["name"].Value = "张三三"; //方法三 XmlAttribute age = xmldoc.CreateAttribute("age"); age.Value = "23"; person.Attributes.Append(age); //设置文本节点 person.InnerText = "123";
获取属性值字符串
//方法一 string name=person.Attributes["name"].Value.ToString(); //方法二 string name=person.GetAttribute("name").ToString(); //方法三:XmlNode.SelectSingleNode()方法中,节点名加@表示查找属性,但最后要转成(XmlAttribute) XmlAttribute xa = (XmlAttribute)person.SelectSingleNode("@" + name); string name=xa.Value.ToString();
删除属性string
//方法一:删除指定属性 person.RemoveAttribute("age"); //方法二:删除某个位置的属性(须要了解属性的顺序) person.RemoveAttributeAt(0); //方法三:删除全部属性 person.RemoveAllAttributes();
XmlNode和XmlElement比较it
XmlElement是XmlNode的子类。
Xml节点有多种类型:属性节点、注释节点、文本节点、元素节点等。XmlNode是这多种节点的统称,可是XmlElement专门指的就是元素节点。
XmlElement是具现类,能够直接实例化,而XmlNode是抽象类。