基本上我要做的是从列表中删除一个 VSLOC。我不想删除属于它的所有内容。
<?xml version="1.0"?>
<GarageNumbers>
<G554>
<id>G554</id>
<VSLOC>V002</VSLOC>
<VSLOC>V003</VSLOC>
<VSLOC>V002</VSLOC>
</G554>
<G566>
<id>G566</id>
<VSLOC>V002</VSLOC>
<VSLOC>V003</VSLOC>
<VSLOC>V002</VSLOC>
</G566>
<G572>
<id>G572</id>
<VSLOC>V001</VSLOC>
<VSLOC>V002</VSLOC>
</G572>
</GarageNumbers>
所以,我设置的是一个组合框,我从中选择一个 G#,在列表框中显示与它相关的所有 VSLOC。我需要做的是从列表框中选择一个项目,然后使用按钮从列表框和 xml 文档中删除该行。我有所有这些设置,但是当我按下按钮时,它会删除 G554 和所有带有 in 的元素。
因此,如果我想从 G554 的列表中选择 V002,我希望它只删除带有该内部文本的 VSLOC。
XmlDocument xDoc = new XmlDocument();
xDoc.Load(Application.StartupPath + "/xmlData.xml");
foreach (XmlNode xNode in xDoc.SelectNodes("GarageNumbers/G554"))
if (xNode.SelectSingleNode("VSLOC").InnerText == "V002")
xNode.ParentNode.RemoveChild(xNode);
xDoc.Save(Application.StartupPath + "/xmlData.xml");