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">Sa开发者_开发问答mple2</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.
XmlElement el = (XmlElement)originalXml.SelectSingleNode("/Tests/Test/Sample[@id='544']");
if (el != null) {
el.ParentNode.RemoveChild(el);
originalXml.Save(@"d:\file.xml");
}
Found this online with a simple search:
XmlNode node = document.SelectSingleNode("/Tests/Test/Sample[@id='544']");
node.ParentNode.RemoveChild(t);
document.Save();
I haven't tested this code but it should work.
XmlDocument xDoc = new XmlDocument();
xDoc.Load("file.xml");
xDoc.RemoveChild(xDoc.SelectSingleNode("//Sample[@ID='554']"));
精彩评论