xml大致结构如下:
原文如下
<?xml version="1.0" encoding="gb2312"?>
<toolbox>
<菜单1 backcol="r红色" text="图像工具" textfont="宋体" textsize="12" />
<菜单2 backcol="蓝色" text="视频工具" textfont="微软雅黑" textsize="13" />
<菜单3 backcol="绿色" text="网络工具" textfont="楷体" textsize="14" />
</toolbox>
现希望删除
<菜单2 backcol="蓝色" text="视频工具" textfont="微软雅黑" textsize="13" />
节点结果如下:
<?xml version="1.0" encoding="gb2312"?>
<toolbox>
<菜单1 backcol="r红色" text="图像工具" textfont="宋体" textsize="12" />
<菜单2 backcol="绿色" text="网络工具" textfont="楷体" textsize="14" />
</toolbox>
实际上就是完成删除前一项后,后续项都改名为前一项名字的功能。
三种方案:
1。先删除<菜单2 backcol="蓝色" text="视频工具" textfont="微软雅黑" textsize="13" />
然后将节点“菜单3”改名为“菜单2”,这种方法感觉操作较少,最乐意采纳,但不会实现。
2。将“菜单3”的各项属性陆续传递给“菜单2”,这样操作太多,不太喜欢。
3。文本替换,不知效率如何,大家可发表意见。除此三种方法,不知大家可有更好的办法?
原文如下
<?xml version="1.0" encoding="gb2312"?>
<toolbox>
<菜单1 backcol="r红色" text="图像工具" textfont="宋体" textsize="12" />
<菜单2 backcol="蓝色" text="视频工具" textfont="微软雅黑" textsize="13" />
<菜单3 backcol="绿色" text="网络工具" textfont="楷体" textsize="14" />
</toolbox>
现希望删除
<菜单2 backcol="蓝色" text="视频工具" textfont="微软雅黑" textsize="13" />
节点结果如下:
<?xml version="1.0" encoding="gb2312"?>
<toolbox>
<菜单1 backcol="r红色" text="图像工具" textfont="宋体" textsize="12" />
<菜单2 backcol="绿色" text="网络工具" textfont="楷体" textsize="14" />
</toolbox>
实际上就是完成删除前一项后,后续项都改名为前一项名字的功能。
三种方案:
1。先删除<菜单2 backcol="蓝色" text="视频工具" textfont="微软雅黑" textsize="13" />
然后将节点“菜单3”改名为“菜单2”,这种方法感觉操作较少,最乐意采纳,但不会实现。
2。将“菜单3”的各项属性陆续传递给“菜单2”,这样操作太多,不太喜欢。
3。文本替换,不知效率如何,大家可发表意见。除此三种方法,不知大家可有更好的办法?
解决方案 »
- 我用winform做了一个程序怎么运行一段时间后自己就消失了。。
- 一个正则表达式问题
- Microsoft.Win32.SafeHandles 是用来干吗的
- datsGridView删除列的问题
- 求VS.NET 2003 Enterprise Architecture英文版
- 有没有一个自动的方式在两个stream之间互传数据
- WebBrowser控件浏览页面时,如何启用html里嵌入的activex控件呢?
- 问一个问题 怎么可以实现EXCEL数据表数据导进MSSQL呢??
- 一个数组的遍历操作或者其他更加有效的方法
- 请问如何在DLL中使用一个变量,使其在主程式的运行期间一直生存?而且仅在DLL内部使用。
- C# 读取二进制文件画灰度图(在线等)
- DLL文件的放置位置
doc.Load("");
XmlNode no= doc.SelectSingleNode("//toolbox/菜单2[@backcol='']");
if(no!=null)
{
XmlElement xe=(XmlElement)no;
xe.RemoveAll();
}http://topic.csdn.net/u/20090515/12/619c10d1-af12-4c90-bfcd-101da5dd8ddf.html
获取是将菜单1作为属性,删除后更改其后所有节点的属性。
<toolbox>
<menus>
<menu backcol="r红色" text="图像工具" textfont="宋体" textsize="12" />
<menu backcol="蓝色" text="视频工具" textfont="微软雅黑" textsize="13" />
<menu backcol="绿色" text="网络工具" textfont="楷体" textsize="14" />
</menus>
</toolbox>如果你非要改节点的Name,保存时用XmlTextWriter来写入。
或者是将菜单1作为属性,删除后更改其后所有节点的属性。
<toolbox>
<menus>
<menu backcol="r红色" text="图像工具" textfont="宋体" textsize="12" />
<menu backcol="蓝色" text="视频工具" tex……获取 打错了字
XmlDocument xmlDt= new XmlDocument();
xmlDt.Load("XML文件名");
XmlNode nodes= doc.SelectSingleNode("//toolbox/菜单2[@backcol='']");
if(nodes!=null)
{
XmlElement xml=no as XmlElement);
xml.RemoveAll();
}