C# 删除指定的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;
      }
    }
    // 显示结果
    if(isFinded)
      Response.Write ("已删除");
    else
      Response.Write ("未找到相应的记录");
    }
    </Script>

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值