Hur gör man för att kolla i fall en XmlNode har en viss Attribut? Om attributet "color" inte finns så kommer följande uttryck: expr.Attributes["color"] är nullkolla om ett Attribut finns i en XmlNode
Jag provade koden nedan men får Object not .................
men byter jag det till ID som alla noder har funkar det.
if(expr.Attributes["color"].Value != null)
Sv: kolla om ett Attribut finns i en XmlNode
expr.Attributes["color"]
att retrurnera null.
Om du ändå försöker använda ".Value" så försöker du i princip att anropa "null.Value" med din if-sats och därför får du ett NullReferenceException.
Om du får ett NullReferenceException även när du använder:
if(expr.Attributes["color"]!= null)
eller
if(expr.Attributes.GetNamedItem("color") != null)
så är det något annat fel, antagligen att "expr" inte är en referens till rätt objekt.
Prova i så fall:
if(expr != null)
(inte för att få ett attribut förstås, utan helt enkelt för att felsöka)
Om "expr" är skild från null kan du använda "expr.GetType().Name" för att se vilken konkret datatyp det är.
/ TomasSv:kolla om ett Attribut finns i en XmlNode
expr är inte null
expr.GetType().Name är av typen XmlBoundElement