删除指定的XML节点

呵呵,今天总算有点成绩了。明白了如何添加XML节点,现在又搞懂了如何删除XML节点。下面说一下具体的方法: 下面是XML文档: <?xml version="1.0" encoding="gb2312"?> <data> <list> <url>cns!1pg3-qZraLhileWMaX48lbhg!246.entry</url> <title>试用 FCKeditor 2.0 RC3</title> <rq>6.13</rq> </list> <list> <url>cns!1pg3-qZraLhileWMaX48lbhg!287.entry</url> <title>比尔盖茨给马化腾的一封信</title> <rq>6.6</rq> </list> <list> <url>cns!1pg3-qZraLhileWMaX48lbhg!282.entry</url> <title>溜之大吉 v1.0</title> <rq>6.2</rq> </list> <list> <url>cns!1pg3-qZraLhileWMaX48lbhg!281.entry</url> <title>一个女孩儿的自恋</title> <rq>6.1</rq> </list> </data> 要想删除指定的XML节点,必须要有指定的删除条件。在这儿,我选择二项:title、rq。 下面是实现过程(C#代码): <% @ Page Language="c#" %> <% @ Import Namespace="System.Xml" %> <Script Language="C#" Runat="Server"> void Page_Load(){ string theTitle="试用 FCKeditor 2.0 RC3"; string theRq="6.13"; // 创建一个XmlDocument对象 string xmlPath=Server.MapPath("blog.xml"); XmlDocument xmlDoc=new XmlDocument(); // 加载指定的XML数据 xmlDoc.Load(xmlPath); // 选择匹配 XPath 表达式的第一个 XmlNode XmlNode root=xmlDoc.SelectSingleNode("data"); // 获取节点的所有子节点 XmlNodeList xnList=root.ChildNodes; bool isFinded=false; foreach(XmlNode xn in xnList){ if(xn.SelectSingleNode("title").InnerText==theTitle && xn.SelectSingleNode("rq").InnerText==theRq){ isFinded=true; root.RemoveChild(xn);// 移除指定的子节点 xmlDoc.Save(xmlPath); break; } }

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念