首页 新闻 会员 周边 捐助

.NET删除XML的第一节点的问题,怎么始终删除不掉

0
悬赏园豆:10 [已解决问题] 解决于 2011-09-11 01:13
XmlNode root = xmlDoc.SelectSingleNode("images");
 root.FirstChild.RemoveAll();//删除
<?xml version="1.0" encoding="utf-8"?>
<images>
  <img>
  </img>
  <img id="No1">
    <oid>245</oid>
    <imgpic>uploadimages/03.jpg</imgpic>
    <name>测试插件</name>
  </img>
  <img id="No1">
    <oid>245</oid>
    <imgpic>uploadimages/04.jpg</imgpic>
    <name>测试插件</name>
  </img>
</images>
注意看,第一个img的节点还存在,原因是 root.FirstChild.RemoveAll();//它是删除images 的第一个节点的子节点, 我应该怎么操作呢
华崽崽的主页 华崽崽 | 初学一级 | 园豆:19
提问于:2011-09-10 23:26
< >
分享
最佳答案
1

你好,好象好Save起来的喔~像酱紫

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;

namespace XmlDemo
{
class Program
{
static void Main(string[] args)
{
XmlDocument xmlDoc
= new XmlDocument();
xmlDoc.Load(
"XMLFile1.xml");

XmlNode root
= xmlDoc.SelectSingleNode("images");
XmlNode firstNode
= root.FirstChild;

root.RemoveChild(firstNode);

//或者
//root.RemoveChild(root.FirstChild);

xmlDoc.Save(
"XMLFile1.xml"); //亲, 记得保存喔!

Console.ReadKey();
}
}
}

如果答案对你有帮助,请给予答案~谢谢合作!

收获园豆:10
dotNetDR_ | 老鸟四级 |园豆:2078 | 2011-09-11 00:16

root.RemoveChild(root.FirstChild); //嗯,就是这句就可以了,刚才一直没有登录Q,没有看见你那么早就回答了,谢谢啊,刚才这个问题我纠结了好久,在网上搜了很久都没有找到方法,感觉就是思路没有转的过来,

 

华崽崽 | 园豆:19 (初学一级) | 2011-09-11 01:13
其他回答(1)
0

你好,你可以用这个

XmlNode node = doc.GetElementsByTagName("img")[i];
doc.DocumentElement.RemoveChild(node);

这里的i从0开始。

飞天的扫帚 | 园豆:205 (菜鸟二级) | 2011-09-10 23:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册