2010-07-12 31 views
8

Tôi cần xóa nút nhân viên cụ thể và cũng là nút con của nó dựa trên giá trị của id. Ví dụ, ở đây tôi cần xóa thẻ nhân viên với id = "2".xóa nút cụ thể trong xml

<company> 
    <employee> 
     <id>1</id> 
     <name>sa</name> 
    </employee> 
    <employee> 
     <id>2</id> 
     <name>ssa</name> 
    </employee> 
</company> 
+0

gì phiên bản của .net bạn đang sử dụng, thay đổi câu trả lời khá một chút – msarchet

+0

Tôi đang sử dụng framework 2.0 – SAK

Trả lời

20

Giả sử bạn đã tải đó vào một XmlDocument tên doc:

XmlElement el = (XmlElement)doc.SelectSingleNode("/company/employee[id=2]"); 
if(el != null) { el.ParentNode.RemoveChild(el); } 
+0

Cảm ơn bạn đã xây dựng el.ParentNode.RemoveChild (el) - đang đi vòng trong các vòng kết nối cố gắng tham chiếu đến nút mà tôi đã tìm thấy đối với tài liệu để loại bỏ nó! – Jon

3

Hãy thử điều này một

XmlDocument xmlDoc = new XmlDocument(); 
XmlNode nodeToDelete = xmlDoc.SelectSingleNode("/root/XMLFileName[@ID="+nodeId+"]"); 
      if (nodeToDelete != null) 
      { 
       nodeToDelete.ParentNode.RemoveChild(nodeToDelete); 
      } 
      xmlDoc.Save("XMLFileName.xml") 
Các vấn đề liên quan