DOM操作XML文档

XmlDocument是一个DOM类型,它代表了一个XML文档,实用XmlDocument类型,可以对一个XML文档进行所有期望的操作。

XML文档对象模型(DOM)类是XML文档的内存中表示形式。DOM使能够以编程方式读取、处理和修改XML文档。.NET的文档对象模型,是由XMLNode类型及其派生类型来实现的,所有这些类型一起,覆盖了DOM中所有的元素类型。

DOM的层次结构:


①使用XmlDocument创建一个XML文件:
//创建XMLDocument
            string path = "BookStore.xml";
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(path);
            XmlNode root = xmlDoc.SelectSingleNode("bookstore");     //查找bookstore
            XmlElement xel = xmlDoc.CreateElement("book");   //创建一个<book>结点
            xel.SetAttribute("genre", "勒华");        //设置该结点属性
            xel.SetAttribute("ISBN", "2-3931-4");
            XmlElement xesub1 = xmlDoc.CreateElement("Title");   //设置文本结点
            xesub1.InnerText = "C#从入门到精通";
            xel.AppendChild(xesub1);     //添加到<book>结点
            XmlElement xesub2 = xmlDoc.CreateElement("author");
            xesub2.InnerText = "风月";
            xel.AppendChild(xesub2);
            XmlElement xesub3 = xmlDoc.CreateElement("price");
            xesub3.InnerText = "66";
            xel.AppendChild(xesub3);
            root.AppendChild(xel);    //添加到<bookstore>
            xmlDoc.Save(path);       //将增加的内容保存回xml文件
结果:
<?xml version="1.0" encoding="UTF-8" ?> 
 <bookstore>
   <book genre="勒华" ISBN="2-3931-4">
     <Title>C#从入门到精通</Title> 
     <author>风月</author> 
     <price>66</price> 
   </book>
</bookstore>

②实用XmlDocument删除结点:
 string path = "bookstore.xml";
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load(path);
            //获取bookstore结点所有子结点
            XmlNodeList xnl = xmlDoc.SelectSingleNode("bookstore").ChildNodes;
            foreach (XmlNode item in xnl)
            {
                XmlElement xe = (XmlElement)item;
                if (xe.GetAttribute("genre")=="fantasy")
                {
                    xe.RemoveAttribute("genre");    //删除genre属性
                }
                else if(xe.GetAttribute("genre")=="勒华")
                {
                    xe.RemoveAll();     //删除该结点的全部内容
                }
            }
            xmlDoc.Save(path);      

结果:
 <?xml version="1.0" encoding="UTF-8" ?> 
    <bookstore>
      <book /> 
  </bookstore>





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值