日期:2014-05-19  浏览次数:20983 次

winform下treeview动态增加删除xml节点
xml通过treeview显示节点,内容等,删除或者增加treeview内的节点时,对应的xml节点也要做出改动.我用System.Xml.XmlDocument   mDoc   =   new   System.Xml.XmlDocument();
                                mDoc.Load( "E:/peter/test2/test2/bookstore.xml ");string   xpath=treeView1.SelectedNode.FullPath;
                                System.Xml.XmlNodeList   mNodes   =   mDoc.SelectNodes(xpath);
实现当前点鼠标点击treeview节点时,获取当前节点的节点路径.但是到
System.Xml.XmlNodeList   mNodes   =   mDoc.SelectNodes(xpath);始终无法获取xml文件内对应节点的nodelist节点集合.mDoc.SelectNodes(xpath);是是不是不能这么用?那我应该怎么才能把treeview节点转换到对应的xml文件的节点.从而操作实现增加删除?请各位大侠帮帮忙

------解决方案--------------------
用System.Xml.XmlNodeList mNodes = mDoc.ChildNodes();

上面是获取根节点下的XmlNodeList。

而且,不是把TreeView节点转换成Xml节点,应该是已知Xml文件,来绑定到TreeView中,TreeView是Xml文件内容的表现形式。这个时候要用到递归了。你先自己试一下~~~~~~~~~
------解决方案--------------------
mDoc.SelectNodes(xpath);

要看xpath对不对了,XML的节点命名是有限制的,如“ E:”就不能是节点名,如果像
/E/WINDOWS/SYSTEM32是可以用xpath的