C#代码操作XML进行增、删、改操作

2019-12-30 13:39:51于丽

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

C#,XML

2.追加XML


 static void Main(string[] args)
 {
  //追加XML文档
  XmlDocument doc = new XmlDocument();
  XmlElement books;
  if (File.Exists("Books.xml"))
  {
  //如果文件存在 加载XML
  doc.Load("Books.xml");
  //获得文件的根节点
  books = doc.DocumentElement;
  }
  else
  {
  //如果文件不存在
  //创建第一行
  XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
  doc.AppendChild(dec);
  //创建跟节点
  books = doc.CreateElement("Books");
  doc.AppendChild(books);
  }
  //5、给根节点Books创建子节点
  XmlElement book1 = doc.CreateElement("Book");
  //将book添加到根节点
  books.AppendChild(book1);


  //6、给Book1添加子节点
  XmlElement name1 = doc.CreateElement("Name");
  name1.InnerText = "c#开发大全";
  book1.AppendChild(name1);

  XmlElement price1 = doc.CreateElement("Price");
  price1.InnerText = "110";
  book1.AppendChild(price1);

  XmlElement des1 = doc.CreateElement("Des");
  des1.InnerText = "看不懂";
  book1.AppendChild(des1);


  doc.Save("Books.xml");
  Console.WriteLine("保存成功");
  Console.ReadKey();

 }

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

C#,XML

3.读取XML
1)读取普通XML


static void Main(string[] args)
 {
  XmlDocument doc = new XmlDocument();
  //加载要读取的XML
  doc.Load("Books.xml");

  //获得根节点
  XmlElement books = doc.DocumentElement;

  //获得子节点 返回节点的集合
  XmlNodeList xnl = books.ChildNodes;

  foreach (XmlNode item in xnl)
  {
  Console.WriteLine(item.InnerText);
  }
  Console.ReadKey();
}

  

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

C#,XML

2)读取带属性的XML


 static void Main(string[] args)
 {
  //读取带属性的XML文档

  XmlDocument doc = new XmlDocument();
  doc.Load("Order.xml");
  XmlNodeList xnl = doc.SelectNodes("/Order/Items/OrderItem");
  foreach (XmlNode node in xnl)
  {
  Console.WriteLine(node.Attributes["Name"].Value);
  Console.WriteLine(node.Attributes["Count"].Value);
  }
  Console.ReadKey();
}

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