linq to xml操作XML删除元素

  使用LINQ to XML还可以删除XML文件中的元素。下面的实例代码使用LINQ to XML删除了Books.xml文件中的指定的元素。删除元素之后,并将Books.xml文件的内容显示在网页中。具体步骤如下。

(1)将Books.xml文件的访问地址转换为物理地址。

(2)使用XElement类的Load()方法读取Books.xml文件的内容,并创建为xe实例。

(3)使用LINQ查询包含子元素(其中,子元素的名称为“Name”,值为“Book 0003”)的元素,查询结果保存为element变量。

(4)获取element变量中的第一个元素,并调用Remove()方法删除该元素。

(5)调用Save()方法重新保存xe实例保存为Books.xml文件。

(6)在网页显示xe实例的内容,即Books.xml文件的内容。

(7)设置网页的输出格式为“text/xml”,并中止网页的输出操作。

         private void RemoveXmlElement()
         {                
                   ///导入XML文件
                   string xmlFilePath = Server.MapPath("Data/Books.xml");
                   XElement xe = XElement.Load(xmlFilePath);            
                   ///查找被删除的元素
                   IEnumerable<XElement> element = from e in xe.Elements()
                                                                                             where (string)e.Element("Name") == "Book 0003"
                                                                                             select e;
                   ///删除指定的元素,并保存
                   if(element.Count() > 0){element.First().Remove();}
                   xe.Save(xmlFilePath);
                   ///显示XML文件的内容
                   Response.Write(xe);
                   ///设置网页显示的形式为XML文件
                   Response.ContentType = "text/xml";
                   Response.End();
         }

  Sample_11项目中的OperateXML.aspx页面测试了上述实例代码(RemoveXmlElement()函数),测试结果如图所示。

 

加支付宝好友偷能量挖...


评论(0)网络
阅读(107)喜欢(0)asp.net-linq