| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 612 人关注过本帖
标题:XML删除问题
收藏  订阅  推荐  打印 
沉沦过迁
Rank: 6Rank: 6
来自:广西百色
等级:金牌会员
帖子:2288
积分:23582
注册:2007-5-8
XML删除问题

xml文档如下:
<?xml version="1.0" encoding="UTF-8"?>
<students>
    <student>
         <name>zhangfayu</name>
         <pwd>21</pwd>
         <id>123</id>
   </student>
<student>
        <name>lichao</name>
        <pwd>23</pwd>
        <id>234</id>
   </student>
</students>
删除代码(根据给定的id查找相应的项并删除)
XmlDocument Doc =new XmlDocument();
        XmlNodeList xnl;
            Doc.Load(Application.StartupPath + "[url=file://\\students.xml]\\students.xml[/url]");
            xnl = Doc.SelectSingleNode("students").ChildNodes;
            for (int i = 0; i < xnl.Count; i++)
            {
                if (xnl.Item(i).ChildNodes.Item(1).InnerText == cmbID.SelectedItem.ToString())
                {
                   xnl.Item(i).RemoveChild(xnl.Item(i));
                     
                }
            }
红色部分为删除代码
但是执行之后xml将变为
<?xml version="1.0" encoding="UTF-8"?>
<students>
    <student>
    </student>
<student>
        <name>lichao</name>
        <pwd>23</pwd>
        <id>234</id>
   </student>
</students>
只删除了信息 节点却还在
问怎么才能够删除啊?
谢谢
搜索更多相关主题的帖子: XML  pwd  student  name  quot  
2007-11-26 10:07
清水香里
Rank: 2
等级:注册会员
帖子:144
积分:1570
注册:2006-9-3

直接删节点student撒。。

www.crazykart.cn/www.feiin.cn
2007-11-26 10:13
沉沦过迁
Rank: 6Rank: 6
来自:广西百色
等级:金牌会员
帖子:2288
积分:23582
注册:2007-5-8

主要是我查找的时候是 根据<student>下的<id>标签进行的
xnl.Item(i).Removeall(xnl.Item(i)) 上面删除代码是这
还是不行啊

也许我没有明天,但是我拥有现在
2007-11-26 10:33
清水香里
Rank: 2
等级:注册会员
帖子:144
积分:1570
注册:2006-9-3

找到后。。然后  。parent 可以找到父节点。。然后删除撒

www.crazykart.cn/www.feiin.cn
2007-11-26 10:48
bygg
Rank: 12Rank: 12Rank: 12
来自:乖乖的心中
等级:版主
威望:186
帖子:10234
积分:100927
注册:2006-10-23

是的,再返回找到父节点,进行删除

一个天才顶不上十个笨蛋!
书山有路勤为径,学海无涯友相伴。
我的E-mail:mylover624@yahoo.com.cn
2007-11-26 11:01
沉沦过迁
Rank: 6Rank: 6
来自:广西百色
等级:金牌会员
帖子:2288
积分:23582
注册:2007-5-8

返回父节点
将会变成
<studnets>
中间全被删除了
</students>

也许我没有明天,但是我拥有现在
2007-11-26 11:35
guoxhvip
Rank: 12Rank: 12Rank: 12
来自:聖西羅南看臺
等级:版主
威望:40
帖子:3975
积分:39423
注册:2006-10-8

你获得 <student>节点的父节点<students>再删它的子节点不就OK啦

愛生活 && 愛編程
2007-11-26 16:59
沉沦过迁
Rank: 6Rank: 6
来自:广西百色
等级:金牌会员
帖子:2288
积分:23582
注册:2007-5-8

谢谢大家了  
搞定  了

也许我没有明天,但是我拥有现在
2007-11-26 18:16
dingpin
Rank: 3Rank: 3
等级:中级会员
帖子:279
积分:3090
注册:2007-9-29

如果我想删除<student>节点下的<pwd>节点,该怎么写呢?.....

我的地盘我做主!
2008-2-21 22:26
沉沦过迁
Rank: 6Rank: 6
来自:广西百色
等级:金牌会员
帖子:2288
积分:23582
注册:2007-5-8

回LS
假设xml.Item(i)为你要删除student的pwd
xnl.Item(i).RemoveChild(pwd);

也许我没有明天,但是我拥有现在
2008-2-22 02:20
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.058644 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved