你的位置:首页 > ASP.net教程

[ASP.net教程]C# 代码操作XML(增、删、改)


目录:

 

作为一个小型的数据存储传递的工具——

这些都是在控制台进行操作的·····

1.创建

1)创建普通

static void Main(string[] args)    {      //通过代码来创建//1、引用命名空间      //2、创建      new //3、创建第一个行描述信息,并且添加到doc文档中      "1.0", "utf-8", null);      doc.AppendChild(dec);      //4、创建根节点      "Books");      //将根节点添加到文档中      doc.AppendChild(books);      //5、给根节点Books创建子节点      "Book");      //将book添加到根节点      books.AppendChild(book1);      //6、给Book1添加子节点      "Name");      name1.InnerText = "三国演义";      book1.AppendChild(name1);      = doc.CreateElement("Price");      price1.InnerText = "70";      book1.AppendChild(price1);      = doc.CreateElement("Des");      des1.InnerText = "好看";      book1.AppendChild(des1);      = doc.CreateElement("Book");      books.AppendChild(book2);      = doc.CreateElement("Name");      name2.InnerText = "西游记";      book2.AppendChild(name2);      = doc.CreateElement("Price");      price2.InnerText = "80";      book2.AppendChild(price2);      = doc.CreateElement("Des");      des2.InnerText = "还不错";      book2.AppendChild(des2);      doc.Save("Books.");      Console.WriteLine("保存成功");      Console.ReadKey();    }

View Code

根据代码写的,然后运行,就会得到我们想要的

2)创建带属性的

static void Main(string[] args)    {      = new = doc.Create"1.0", "utf-8","yes");      doc.AppendChild(dec);      = doc.CreateElement("Order");      doc.AppendChild(order);      = doc.CreateElement("CustomerName");      customerName.InnerText = "张三";      order.AppendChild(customerName);      = doc.CreateElement("CustomerNumber");      customerNumber.InnerText = "1010101";      order.AppendChild(customerNumber);      = doc.CreateElement("Items");      order.AppendChild(items);      = doc.CreateElement("OrderItem");      //给节点添加属性      orderItem1.SetAttribute("Name", "单反");      orderItem1.SetAttribute("Count", "1120");      items.AppendChild(orderItem1);      = doc.CreateElement("OrderItem");      //给节点添加属性      orderItem2.SetAttribute("Name", "书");      orderItem2.SetAttribute("Count", "30");      items.AppendChild(orderItem2);      = doc.CreateElement("OrderItem");      //给节点添加属性      orderItem3.SetAttribute("Name", "手机");      orderItem3.SetAttribute("Count", "2000");      items.AppendChild(orderItem3);      doc.Save("Order.");      Console.WriteLine("保存成功");      Console.ReadKey();          }

View Code

根据代码写的,然后运行,就会得到我们想要的

2.追加

 static void Main(string[] args)    {      //追加      new if (File.Exists("Books."))      {        //如果文件存在 加载        doc.Load("Books.");        //获得文件的根节点        books = doc.DocumentElement;      }      else      {        //如果文件不存在        //创建第一行        "1.0", "utf-8", null);        doc.AppendChild(dec);        //创建跟节点        books = doc.CreateElement("Books");        doc.AppendChild(books);      }      //5、给根节点Books创建子节点      "Book");      //将book添加到根节点      books.AppendChild(book1);      //6、给Book1添加子节点      "Name");      name1.InnerText = "c#开发大全";      book1.AppendChild(name1);      = doc.CreateElement("Price");      price1.InnerText = "110";      book1.AppendChild(price1);      = doc.CreateElement("Des");      des1.InnerText = "看不懂";      book1.AppendChild(des1);      doc.Save("Books.");      Console.WriteLine("保存成功");      Console.ReadKey();    }

View Code

 根据代码写的,然后运行,就会得到我们想要的

 

3.读取

1)读取普通

static void Main(string[] args)    {      = new //加载要读取的      doc.Load("Books.");      //获得根节点       doc.DocumentElement;      //获得子节点 返回节点的集合       books.ChildNodes;      foreach (in xnl)      {        Console.WriteLine(item.InnerText);      }      Console.ReadKey();}

View Code

 根据代码写的,然后运行,就会得到读取的

 

2)读取带属性的

 static void Main(string[] args)    {      //读取带属性的      = new "Order.");      = doc.SelectNodes("/Order/Items/OrderItem");      foreach (in xnl)      {        Console.WriteLine(node.Attributes["Name"].Value);        Console.WriteLine(node.Attributes["Count"].Value);      }      Console.ReadKey();}

View Code

  根据代码写的,然后运行,就会得到读取的

4.修改属性的值

static void Main(string[] args)    {      //改变属性的值      new "Order.");      = doc.SelectSingleNode("/Order/Items/OrderItem[@Name='单反']");      xn.Attributes["Count"].Value = "2000";      xn.Attributes["Name"].Value = "电脑";      doc.Save("Order.");      Console.WriteLine("保存成功");      Console.ReadKey();    }

View Code

  根据代码写的,然后运行,就会得到修改后的

5.删除

 static void Main(string[] args)    {      = new "Order.");      = doc.SelectSingleNode("/Order/Items");      xn.RemoveAll();      doc.Save("Order.");      Console.WriteLine("删除成功");      Console.ReadKey();    }

View Code

  根据代码写的,然后运行,就会得到修删除后的

至此: