请问如何删除xml的一个节点,但是保留她的子节点

beyondjay 2007-12-27 01:31:23
<a>
<b>
<b1>222</b1>
<b2>333</b2>
</b>
</a>
怎么把<a></a>删掉
使得文件成为
<b>
<b1>222</b1>
<b2>333</b2>
</b>
...全文
149 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
路人乙e 2007-12-27
  • 打赏
  • 举报
回复
string strxml = " <c> <a> <b> <b1> 222 </b1> <b2> 333 </b2> </b> </a> </c> ";
XmlDocument doc = new XmlDocument();
doc.LoadXml(strxml);
XmlNode node = doc.SelectSingleNode("//a");
XmlNode parent = node.ParentNode;
XmlNode nodetemp = node.Clone();
parent.RemoveChild(node);

parent.InnerXml = nodetemp.InnerXml;
beyondjay 2007-12-27
  • 打赏
  • 举报
回复
学习了!
叶子1105 2007-12-27
  • 打赏
  • 举报
回复
不错,又学习了
jiatong1981 2007-12-27
  • 打赏
  • 举报
回复
只能如此了
ahshow 2007-12-27
  • 打赏
  • 举报
回复
先把节点的子节点读出来,然后把节点删除,再把子节点保存进去
danxin1024 2007-12-27
  • 打赏
  • 举报
回复
同意1楼
真相重于对错 2007-12-27
  • 打赏
  • 举报
回复
string strxml = "<c><a><b><b1> 222 </b1><b2> 333</b2></b></a></c> ";
XmlDocument doc = new XmlDocument();
doc.LoadXml(strxml);
XmlNode node = doc.SelectSingleNode("//a");
XmlNode parent = node.ParentNode;
XmlNode nodetemp = node.Clone();
parent.RemoveChild(node);
foreach( XmlNode childenode in nodetemp.ChildNodes)
{
parent.AppendChild(childenode);
}
doc.Save("1.xml");

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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