根据节点名称循环删除xml节点.txt - .NET技术 / C#
内容如题。。在C#里改如何写呢?
本来思路是先比对节点名称,如是的话就保存要删除节点的下标放在数组里。然后循环删除,但发现。。当我删除第一个后,所有节点下标数量都发生改变。。
就不能再按照之前纪录的节点下标删除了,下标数字都发生改变了。。。。请高手指定给段代码!!!!
我这个xml有可能会多人操作的。。所以不能直接全部清空channel下所有的item,比对a节点InnerText如果符合再删除这个item下所有子节点。。包括item本身父节点
xml结构如下
<option>
<channel>
<item>
<a> r</a>
<b>
<c>
</item>
<item>
<a> f</a>
<b>
<c>
</item>
XmlNodeList xnl=xmlDoc.SelectSingleNode("").ChildNodes;
foreach(XmlNode xn in xnl)
{
XmlElement xe=(XmlElement)xn;
if(xe.GetAttribute("name")=="a")
{
xe.RemoveAttribute("name");//删除属性
}
else if(xe.GetAttribute("name")=="b")
{
xe.RemoveAll();//删除该节点的全部内容
}
}
xmlDoc.Save("a.xml");
找到你符合你条件的it
相关问答:
有个winform程序,使用c#+mysql,需要在一个窗体设置mysql自动删除功能,包括自动删除多少天之前的数据以及是否开启自动删除功能,我程序退出后,还怎么控制Mysql自己删除啊?是不是要用mysql的event来实现?c#可以调用mysq ......
DataSet导出xml 批处理(循环)得怎么处理
XML文件
<A>
<B>
<C>
</C>
&nb ......
<?xml version="1.0" encoding="utf-8" ?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical&q ......
我们C#做一个窗体 往数据库里插入数据
SqlConnection cn = new SqlConnection("Data Source=20090713-1752\\SQLEXPRESS;Initial Catalog=goods;Integrated Security=True");
......
我有一个XML.想取
<Portfolio _Name="XXXX" _Id="AUD" >
中的属性_Id的值.但是用下面的语句好象不行.
XmlNode CId = xdoc_Msg.SelectSingleNode("/Portfolio");
&n ......