C#删除XML结点的简单例子

来源:互联网 发布:网络课 影视作品鉴赏课 编辑:程序博客网 时间:2024/05/17 07:50

接上一篇

删除原genre属性,删除leixing=love的所有结点。

1 原xml文件 bookstore.xml

<?xml version="1.0" encoding="gb2312"?>
<bookstore>
  <book genre="love" ISBN="1234123">
    <title>who am i </title>
    <author>who</author>
    <price>999</price>
  </book>
  <book leixing="love" ISBN="56756">
    <title>CS从入门到精通</title>
    <author>黎明</author>
    <price>222</price>
  </book>
</bookstore>

 

2 program.cs

 

using System;
using System.Xml;

namespace ReadXml
{
    class Class1
    {
        static void Main(string[] args)
        {
            //实例化一个XmlDocument对象
            XmlDocument xmlDoc = new XmlDocument();
            //实例对象读取要写入的XML文件
            xmlDoc.Load("bookstore.xml");
            XmlNodeList xnl = xmlDoc.SelectSingleNode("bookstore").ChildNodes;
            foreach (XmlNode xn in xnl)
            {
                XmlElement xe = (XmlElement)xn;
                if (xe.GetAttribute("genre") == "love")
                {
                    xe.RemoveAttribute("genre");//删除genre属性
                }
                else if (xe.GetAttribute("leixing") == "love")
                {
                    xe.RemoveAll();//删除该节点的全部内容
                }

            }
            xmlDoc.Save("bookstore.xml");
        }
    }
}

 

3 删除结点后的xml

 

<?xml version="1.0" encoding="gb2312"?>
<bookstore>
  <book ISBN="1234123">
    <title>who am i </title>
    <author>who</author>
    <price>999</price>
  </book>
  <book>
  </book>
</bookstore>

原创粉丝点击