该代码不起作用。它不会删除path4节点我该怎么办?请帮我。谢谢。
<WindowEntries>
<WindowEntry>
<Name>tbwUnitOverview</Name>
<View>TRN_UNIT</View>
<LU>TrnUnit</LU>
<DefaultWindowText> windowtext</DefaultWindowText>
<Flags>0</Flags>
</WindowEntry>
<WindowEntry>
<Name>tbwBrandOverView</Name>
<View>TRN_BRAND</View>
<LU>TrnBrand</LU>
<DefaultWindowText />
<Flags>0</Flags>
</WindowEntry>
<WindowEntry>
<Name>tbwProductCategory</Name>
<View>TRN_PROD_CATEGORY</View>
<LU>TrnProdCategory</LU>
<DefaultWindowText />
<Flags>0</Flags>
</WindowEntry>
XmlTextReader reader = new XmlTextReader("component.xml");
XmlDocument doc = new XmlDocument();
doc.Load(reader);
reader.Close();
XmlNode currNode;
string path4 = treeView1.SelectedNode.FullPath.ToString();
currNode = doc.SelectSingleNode(path4);
currNode.RemoveAll();
doc.Save("component.xml");
答案 0 :(得分:0)
问题是您要从文档中删除正在选择的节点的所有子节点和属性,而不是自己的实际节点。
如果要删除实际节点,则需要访问父节点(XmlNode.ParentNode Property),然后调用RemoveChild方法(XmlNode.RemoveChild Method),传入要删除的节点,如下所示:
string path4 = treeView1.SelectedNode.FullPath.ToString();
XmlNode nodeToRemove = doc.SelectSingleNode(path4);
XmlNode parentNode = nodeToRemove.ParentNode;
parentNode.RemoveChild(nodeToRemove);
希望这有帮助。