删除xml指定节点问题,蛋疼死了,大家帮忙看看把!谢谢了

罗马和尚 2012-07-06 04:18:12
XML代码如下

<slides>
<slide ID="3">
<description>
<link target="_blank">
</link>
<heading>5555</heading>
</description>
</slide>
<slide ID="4">
<description>
<link target="_blank">
</link>
<heading>uuuu</heading>
</description>
</slide>
</slides>



我要删除 <slide ID="4">节点内容,我写的代码如下


xmlDoc.Load(xmlPath);//必须有load
XmlNode root = xmlDoc.SelectSingleNode("/data/slides/slide[@ID='" + num + "']");
if (root != null)
{
root.RemoveAll();//删除节点所有信息
xmlDoc.Save(xmlPath);
}
imgMOL = imgBLL.GetModel(int.Parse(num));
DelePic(imgMOL.img_path);//删除图片


但是这样删除后
是这样样的


<slides>
<slide ID="3">
<description>
<link target="_blank">
</link>
<heading>5555</heading>
</description>
</slide>

<slide>
</slide>
</slides>


没有把 <slide>
</slide>
删除 郁闷死!
大家 帮下忙看看!
...全文
102 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
罗马和尚 2012-07-07
  • 打赏
  • 举报
回复
谢谢 各位
byxxw 2012-07-06
  • 打赏
  • 举报
回复
xmlDoc.Load(xmlPath);//必须有load
XmlNode root = xmlDoc.SelectSingleNode("/data/slides/slide[@ID='" + num + "']");
if (root != null)
{
root.ParentNode.RemoveChild();//删除节点所有信息
xmlDoc.Save(xmlPath);
}
imgMOL = imgBLL.GetModel(int.Parse(num));
DelePic(imgMOL.img_path);//删除图片
huangwenquan123 2012-07-06
  • 打赏
  • 举报
回复
XmlNode root = xml.SelectSingleNode("/data/slides");
XmlNode sonNode = root.SelectSingleNode("slide[@ID='4']");
root.RemoveChild(sonNode);
bdmh 2012-07-06
  • 打赏
  • 举报
回复
你选的 root 是slide节点,你删除的是slide节点下的东西,你应该得到 slide节点的父节点,然后变量父节点的子节点,找到id=4的,删除

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧