使用RemoveChild()删除子节点

Amy*_*Amy 4 c# xml removechild

我想删除这个节点,例如:

<Sample ID="544" Type="0">Sample2</Sample>

从这个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>
Run Code Online (Sandbox Code Playgroud)

所以我的结果是这样的:

 <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>
Run Code Online (Sandbox Code Playgroud)

我可以一次删除任何一个节点(因为我放了一个循环来检查需要删除的样本ID)任何帮助将不胜感激,提前感谢.

小智 6

XmlElement el = (XmlElement)originalXml.SelectSingleNode("/Tests/Test/Sample[@id='544']");
            if (el != null) {
                el.ParentNode.RemoveChild(el);
                originalXml.Save(@"d:\file.xml");
            }
Run Code Online (Sandbox Code Playgroud)


spi*_*non 4

通过简单的搜索就在网上找到了这个:

XmlNode node = document.SelectSingleNode("/Tests/Test/Sample[@id='544']");
node.ParentNode.RemoveChild(t);
document.Save();
Run Code Online (Sandbox Code Playgroud)