删除xml中的特定节点
问题描述:
我需要根据id的值删除特定的员工节点及其子节点。 例如,在这里我需要删除ID =“2”的员工标签。删除xml中的特定节点
<company>
<employee>
<id>1</id>
<name>sa</name>
</employee>
<employee>
<id>2</id>
<name>ssa</name>
</employee>
</company>
答
假设你已经加载的成XmlDocument
命名doc
:
XmlElement el = (XmlElement)doc.SelectSingleNode("/company/employee[id=2]");
if(el != null) { el.ParentNode.RemoveChild(el); }
+0
感谢el.ParentNode.RemoveChild(el)构建 - 正在围绕试图引用我找到的节点关于该文件以便将其删除! – Jon 2014-11-24 13:40:27
答
您使用试试这个
XmlDocument xmlDoc = new XmlDocument();
XmlNode nodeToDelete = xmlDoc.SelectSingleNode("/root/XMLFileName[@ID="+nodeId+"]");
if (nodeToDelete != null)
{
nodeToDelete.ParentNode.RemoveChild(nodeToDelete);
}
xmlDoc.Save("XMLFileName.xml")
什么.NET版本,改变了答案颇有几分 – msarchet 2010-07-12 14:12:55
我正在使用框架2.0 – SAK 2010-07-12 14:16:49