2011-12-29 28 views
5

刪除的屬性如何從在C#中System.Xml.XmlNode對象中刪除一個屬性。我嘗試的代碼無效。它拋出一個異常「節點被移除是無效的子節點」從XmlNode的

foreach (XmlNode distribution 
     in responseXml.SelectNodes("/Distributions/Distribution/DistributionID")) 
{ 
    XmlAttribute attribute = null; 
    foreach (XmlAttribute attri in distribution.Attributes) 
    { 
    if (attri.Name == "GrossRevenue") 
     attribute = attri; 
    } 
    if (attribute != null) 
    distribution.ParentNode.RemoveChild(attribute); 
} 
+2

您應該包括XML數據,所以有人願意來試試你的代碼可以做到這一點。 – 2011-12-29 21:15:57

回答

8

XMLATTRIBUTES不將XMLNode。 XmlNode.ChildNodesXmlNodeList型的,而XmlNode.AttributesXmlAttributesCollection類型。要刪除一個屬性,可以使用XmlAttributesCollection.Remove.RemoveAt方法。在您的代碼:

distribution.ParentNode.Attributes.Remove(attribute);