xml的增删改查

xml文件的添加:

XmlDocument doc = new XmlDocument();
            //首先判断文件是否存在,如果存在则追加否则在创建一个
            if (File.Exists("Student.xml"))
            {
                //加载
                doc.Load("Student.xml");
                //获取根节点,给根节点添加子节点
                XmlElement person = doc.DocumentElement;
                XmlElement student = doc.CreateElement("student");
                student.SetAttribute("ID", "1");
                person.AppendChild(student);
                XmlElement name = doc.CreateElement("name");
                XmlElement age = doc.CreateElement("age");
                name.InnerText = "zjs";
                age.InnerText = "41";
                student.AppendChild(name);
                student.AppendChild(age);
            }
            else {
            }
            doc.Save("Student.xml");
            Console.WriteLine("Student.xml 保存成功");

修改

if (File.Exists("order.xml"))
            {
                doc.Load("order.xml");
                // 获取根节点
                XmlElement orderElement  = doc.DocumentElement;
                XmlNodeList orderChildr  = orderElement.ChildNodes;
                foreach (XmlNode item in orderChildr)
                {
                    Console.WriteLine("节点名称:"+ item.Name + "节点的 InnerText :" + item.InnerText);
                }
                XmlElement orderitem = orderElement["Items"];
                XmlNodeList itemlist = orderitem.ChildNodes;
                foreach (XmlNode item in itemlist)
                {
                    Console.WriteLine(item.Attributes["Name"].Value + " " + item.Attributes["Count"].Value);
                }
  }
            else
            {
                Console.WriteLine("文件不存在!");
            }
            Console.ReadKey();
           // doc.Save("Student.xml");
            Console.WriteLine("Student.xml 保存成功");

使用xpath来读取xml文件:

#region 使用XPath的方式来读取XML文件
            // 获取文档对象
            XmlDocument doc = new XmlDocument();
            doc.Load("order.xml");
            //获取根节点
            XmlElement order = doc.DocumentElement;
            // 获取单个节点
            //XmlNode xn = order.SelectSingleNode(@"/Order/CustomerName");
            XmlNode xn = order.SelectSingleNode(@"/Order/Items/OrderItem[@Name='码表']");
            xn.Attributes["Count"].Value = "20"; // 修改
            doc.Save("Order.xml");
            Console.WriteLine(xn.Attributes["Count"].Value);
            Console.ReadKey();
            #endregion

删除节点属性:

xn.Attributes.RemoveNamedItem("Count");  //删除元素指定的特性

删除子节点:

XmlNode xn = order.SelectSingleNode(@"/Order/Items");
XmlNode xnchild  = order.SelectSingleNode(@"/Order/Items/OrderItem[@Name = '雨衣']");
xn.RemoveChild(xnchild); //删除指定的子节点

删除所有节点:

xn.RemoveAll(); //删除当前节点的所有子节点  

删除所有属性:

xnchild.Attributes.RemoveAll(); 
上一篇:机器学习笔记21-----隐马尔科夫模型HMM(Hidden Markov model)


下一篇:dfs的运用