CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

删除XML子节点时为什么会剩下一空节点?

楼主oksonic(oksonic)2005-04-15 18:20:06 在 .NET技术 / C# 提问

删除XML子节点时为什么会剩下一空节点?  
   
  XmlDocument   xmlDoc=new   XmlDocument();  
  xmlDoc.Load("c:\aa.xml");  
   
  XmlNodeList   xnl=xmlDoc.SelectSingleNode("//DATAPACKET/ROWDATA").ChildNodes;  
     
  foreach(XmlNode   xn   in   xnl)  
  {  
  XmlElement   xe=(XmlElement)xn;  
     
   
  if(xe.GetAttribute("gdsid")=="???")  
  {  
  xe.RemoveAttribute("genre");//删除genre属性  
  }  
  else   if(xe.GetAttribute("gdsid")=="6")  
  {  
  xe.RemoveAll();//删除该节点的全部内容  
  }  
  }  
  xmlDoc.Save("c:\aa.xml");  
  textBox1.Text   =   xmlDoc.OuterXml;  
  }  
   
  删除后文件如下:  
   
  <?xml   version="1.0"   encoding="gb2312"?>  
  <DATAPACKET   Version="2.0">  
      <METADATA>  
          <FIELDS>  
              <FIELD   FieldName="gdsid"   DisplayLabel="gdsid"   FieldType="Integer"   FieldClass="TField"   />  
              <FIELD   FieldName="gdsname"   DisplayLabel="gdsname"   FieldType="String"   FieldClass="TField"   />  
              <FIELD   FieldName="gdstype"   DisplayLabel="gdstype"   FieldType="String"   FieldClass="TField"   />  
              <FIELD   FieldName="Unit"   DisplayLabel="Unit"   FieldType="String"   FieldClass="TField"   />  
              <FIELD   FieldName="PackType"   DisplayLabel="PackType"   FieldType="String"   FieldClass="TField"   />  
              <FIELD   FieldName="classcode"   DisplayLabel="classcode"   FieldType="Integer"   FieldClass="TField"   />  
              <FIELD   FieldName="brandcode"   DisplayLabel="brandcode"   FieldType="Integer"   FieldClass="TField"   />  
              <FIELD   FieldName="cyc"   DisplayLabel="cyc"   FieldType="Integer"   FieldClass="TField"   />  
              <FIELD   FieldName="ptaxrate"   DisplayLabel="ptaxrate"   FieldType="Float"   FieldClass="TField"   />  
              <FIELD   FieldName="staxrate"   DisplayLabel="staxrate"   FieldType="Float"   FieldClass="TField"   />  
              <FIELD   FieldName="obarcode"   DisplayLabel="obarcode"   FieldType="String"   FieldClass="TField"   />  
              <FIELD   FieldName="ogdscode"   DisplayLabel="ogdscode"   FieldType="Integer"   FieldClass="TField"   />  
          </FIELDS>  
      </METADATA>  
      <ROWDATA>  
          <ROW   gdsid="1"   gdsname="雷登烟嘴"   gdstype="空"   Unit="盒"   PackType=""   classcode="692"   brandcode="0"   cyc="15"   ptaxrate="0.17"   staxrate="0.17"   obarcode="2008000070588"   ogdscode="91,246"   />  
          <ROW   gdsid="2"   gdsname="雷登烟焦油滤皿"   gdstype="空"   Unit="合"   PackType=""   classcode="692"   brandcode="0"   cyc="15"   ptaxrate="0.17"   staxrate="0.17"   obarcode="2008000070502"   ogdscode="94,240"   />  
          <ROW   gdsid="3"   gdsname="320#精烟咀"   gdstype="1*12"   Unit="合"   PackType=""   classcode="692"   brandcode="0"   cyc="15"   ptaxrate="0.17"   staxrate="0.17"   obarcode="2008000071035"   ogdscode="94,243"   />  
          <ROW   gdsid="4"   gdsname="100#滤芯"   gdstype="2*24"   Unit="合"   PackType=""   classcode="692"   brandcode="0"   cyc="15"   ptaxrate="0.17"   staxrate="0.17"   obarcode="2008000071080"   ogdscode="94,245"   />  
          <ROW   gdsid="5"   gdsname="140#喷咀"   gdstype="1*12"   Unit="合"   PackType=""   classcode="692"   brandcode="0"   cyc="15"   ptaxrate="0.17"   staxrate="0.17"   obarcode="2008000071134"   ogdscode="94,247"   />  
          <ROW   />  
      </ROWDATA>  
  </DATAPACKET> 问题点数:20、回复次数:3Top

1 楼luoruichang(瑞昌)回复于 2005-04-15 19:14:35 得分 0

不是很理解?Top

2 楼luoruichang(瑞昌)回复于 2005-04-15 19:15:17 得分 0

xml文件格式我看的少了Top

3 楼BearRui(孤熊 | 带你去看海!)回复于 2005-04-15 23:23:08 得分 20

xe.RemoveAll();  
   
  改为  
   
  xe.ParentNode.RemoveChild(xe);Top

相关问题

  • XML节点删除的问题 Help
  • 怎么在XML增加节点与删除节点
  • XML节点内容删除怎么删除啊
  • Tree删除节点~
  • 如何在xml数据源中删除节点
  • 如何在xml数据源中删除节点
  • xml数据源的确问题(将空节点删除)
  • 关于用js删除xml节点的问题。
  • xml文件中怎么删除节点啊?
  • xml节点删除问题,麻烦看看

关键词

  • 节点
  • xml
  • 删除
  • xe
  • gdsid
  • xmldoc
  • xnl
  • 子节点时为什么
  • removeall
  • genre

得分解答快速导航

  • 帖主:oksonic
  • BearRui

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo