.XML之四 增删改查

来源:互联网 发布:乐视网络电视tv版下载 编辑:程序博客网 时间:2024/05/22 09:12
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Xml;namespace _04xml文档增删改查{    class Program    {        static void Main(string[] args)        {            #region 对xml文档实现追加            //XmlDocument doc = new XmlDocument();            ////首先判断xml文档是否存在 如果存在 则追加  否则创建一个            //if (File.Exists("Student.xml"))            //{            //    //加载进来            //    doc.Load("Student.xml");            //    //追加            //    //获得根节点 给根节点添加子节点            //    XmlElement person = doc.DocumentElement;            //    XmlElement student = doc.CreateElement("Student");            //    student.SetAttribute("studentID", "10");            //    person.AppendChild(student);            //    XmlElement name = doc.CreateElement("Name");            //    name.InnerXml = "新宝宝";            //    student.AppendChild(name);            //    XmlElement age = doc.CreateElement("Age");            //    age.InnerXml = "18";            //    student.AppendChild(age);            //    XmlElement gender = doc.CreateElement("Gender");            //    gender.InnerXml = "女";            //    student.AppendChild(gender);            //}            //else            //{            //    //不存在            //    XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);            //    doc.AppendChild(dec);            //    XmlElement person = doc.CreateElement("Person");            //    doc.AppendChild(person);            //    XmlElement student = doc.CreateElement("Student");            //    student.SetAttribute("studentID", "20");            //    person.AppendChild(student);            //    XmlElement name = doc.CreateElement("Name");            //    name.InnerXml = "嫩宝宝";            //    student.AppendChild(name);            //    XmlElement age = doc.CreateElement("Age");            //    age.InnerXml = "28";            //    student.AppendChild(age);            //    XmlElement gender = doc.CreateElement("Gender");            //    gender.InnerXml = "男";            //    student.AppendChild(gender);            //}            //doc.Save("Student.xml");            //Console.WriteLine("保存成功");            //Console.ReadKey();            #endregion            #region 对xml文档实现查找读取            //XmlDocument doc = new XmlDocument();            //doc.Load("Order.xml");            ////先获得根节点            //XmlElement order = doc.DocumentElement;            ////获得根节点下面的所有子节点            //XmlNodeList xnl = order.ChildNodes;            //foreach (XmlNode item in xnl)            //{            //    Console.WriteLine(item.InnerText);//打印出的是第一子节点的信息            //}            //XmlElement items = order["Items"];            //XmlNodeList xnl2 = items.ChildNodes;            //foreach (XmlNode item in xnl2)            //{            //    Console.WriteLine(item.Attributes["Name"].Value);            //    Console.WriteLine(item.Attributes["Count"].Value);            //    //修改Name=风衣的Count值            //    if (item.Attributes["Name"].Value == "风衣")            //    {            //        item.Attributes["Count"].Value = "26005";            //    }            //}            //doc.Save("OrDER.xml");            //Console.ReadKey();            #endregion            #region 使用xPath的方式读取文件            ////方法一            //XmlDocument doc = new XmlDocument();            //doc.Load("Order.xml");            ////获得根节点            //XmlElement order = doc.DocumentElement;            ////获得单条子节点            //XmlNode xn = order.SelectSingleNode("/Order/OrderNumber");            //Console.WriteLine(xn.InnerText);            //Console.ReadKey();            ////方法二            //XmlDocument doc = new XmlDocument();            //doc.Load("Order.xml");            ////获得根节点            //XmlElement order = doc.DocumentElement;            ////获得单条子节点            //XmlNode xn = order.SelectSingleNode("/Order/Items/OrderItem[@Name='手链']");            //Console.WriteLine(xn.Attributes["Name"].Value);//Attributes属性            ////重新赋值            //xn.Attributes["Count"].Value = "666";            //doc.Save("Order.xml");            //Console.ReadKey();            #endregion            #region 删            ////删除 删除order根节点下的所有子节点            //XmlDocument doc = new XmlDocument();            //doc.Load("Order.xml");            ////获得根节点            //XmlElement order = doc.DocumentElement;            //order.RemoveAll();//删除order根节点下的所有子节点            ////删除 删除根节点下指定子节点            //XmlDocument doc = new XmlDocument();            //doc.Load("Order.xml");            ////获得根节点            //XmlElement order = doc.DocumentElement;            //XmlNode xn = order.SelectSingleNode("/Order/Items/OrderItem[@Name='手链']");            ////获得Items节点            //XmlNode items = order["Items"];//order.SelectSingleNode("/Order/Items");            //items.RemoveChild(xn);// 移除当前节点            //移除节点下的属性            //删除 删除根节点下指定子节点            XmlDocument doc = new XmlDocument();            doc.Load("Order.xml");            //获得根节点            XmlElement order = doc.DocumentElement;            XmlNode xn = order.SelectSingleNode("/Order/Items/OrderItem[@Name='风衣']");            //获得Items节点            //让orderItem去删除Count属性            XmlNode orderItem = order.SelectSingleNode("/Order/Items/OrderItem");            xn.Attributes.RemoveNamedItem("Count");            doc.Save("order.xml");            Console.WriteLine("删除成功");            Console.ReadKey();            #endregion        }    }}

原创粉丝点击