C#刪除XML結點的簡單例子

接上一篇

刪除原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>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章