C# 使用RemoveChild()删除子节点
我只想删除这一个节点,例如:C# 使用RemoveChild()删除子节点,c#,xml,removechild,C#,Xml,Removechild,我只想删除这一个节点,例如: <Tests> <Test ID="0" AllowMultipleSelect="1"> <Name>BaseSamples</Name> <Sample ID="546" Type="0">Sample1 </Sample> <Sample ID="135" Type="0">Sample45</Sample> <Sample ID="544"
<Tests> <Test ID="0" AllowMultipleSelect="1">
<Name>BaseSamples</Name>
<Sample ID="546" Type="0">Sample1 </Sample>
<Sample ID="135" Type="0">Sample45</Sample>
<Sample ID="544" Type="0">Sample2</Sample>
<Sample ID="5818" Type="0" >Sample78</Sample>
</Test>
</Tests>
Sample2
例如,从这个XML:
<Tests> <Test ID="0" AllowMultipleSelect="1">
<Name>BaseSamples</Name>
<Sample ID="546" Type="0">Sample1 </Sample>
<Sample ID="135" Type="0">Sample45</Sample>
<Sample ID="544" Type="0">Sample2</Sample>
<Sample ID="5818" Type="0" >Sample78</Sample>
</Test>
</Tests>
基本样品
样本1
样本45
样本2
样本78
所以我的结果是这样的:
<Tests> <Test ID="0" AllowMultipleSelect="1">
<Name>BaseSamples</Name>
<Sample ID="546" Type="0">Sample1 </Sample>
<Sample ID="135" Type="0">Sample45</Sample>
<Sample ID="5818" Type="0" >Sample78</Sample>
</Test>
</Tests>
基本样品
样本1
样本45
样本78
我可以一次删除任何一个节点(因为我放了一个循环来检查需要删除的示例ID)
如果您有任何帮助,我们将不胜感激。只需简单搜索即可在线找到此信息:
XmlNode node = document.SelectSingleNode("/Tests/Test/Sample[@id='544']");
node.ParentNode.RemoveChild(t);
document.Save();
我还没有测试过这段代码,但它应该可以工作
XmlDocument xDoc = new XmlDocument();
xDoc.Load("file.xml");
xDoc.RemoveChild(xDoc.SelectSingleNode("//Sample[@ID='554']"));