Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Delete a child node using RemoveChild()

I would like to delete just this one node, for example:

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

from this XML, for example:

 <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>

so that my results something like this:

 <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>

I would be okay with deleting any one node at a time (since I put a loop to check for sample IDs that need to be deleted) Any help would be appreciated, thanks in advance.

like image 654
Amy Avatar asked Dec 16 '22 23:12

Amy


1 Answers

XmlElement el = (XmlElement)originalXml.SelectSingleNode("/Tests/Test/Sample[@id='544']");
            if (el != null) {
                el.ParentNode.RemoveChild(el);
                originalXml.Save(@"d:\file.xml");
            }
like image 62
Deve Avatar answered Dec 24 '22 01:12

Deve