删除xml中的特定节点

SAK*_*SAK 9 c# xml

我需要根据id的值删除特定的员工节点及其子节点.例如,在这里我需要删除id为"2"的员工标签.

<company>
    <employee>
        <id>1</id>
        <name>sa</name>
    </employee>
    <employee>
        <id>2</id>
        <name>ssa</name>
    </employee>
</company>
Run Code Online (Sandbox Code Playgroud)

Mar*_*ell 22

假设您已将其加载到XmlDocument命名doc:

XmlElement el = (XmlElement)doc.SelectSingleNode("/company/employee[id=2]");
if(el != null) { el.ParentNode.RemoveChild(el); }
Run Code Online (Sandbox Code Playgroud)


Joh*_*nny 5

试试这个

 XmlDocument xmlDoc = new XmlDocument();
 XmlNode nodeToDelete = xmlDoc.SelectSingleNode("/root/XMLFileName[@ID="+nodeId+"]");
            if (nodeToDelete != null)
            {
                nodeToDelete.ParentNode.RemoveChild(nodeToDelete);
            }
            xmlDoc.Save("XMLFileName.xml")
Run Code Online (Sandbox Code Playgroud)