public void SetElementValue (XName name, object value)
{
var element = Element (name);
- if (element == null && value != null) {
- Add (new XElement (name, value));
+ if (element == null) {
+ if (value != null)
+ Add (new XElement (name, value));
} else if (element != null && value == null) {
element.Remove ();
} else
XElement newElement = new XElement(ns + "geoloc");
Assert.AreEqual ("<geoloc xmlns=\"http://jabber.org/protocol/geoloc\" />", newElement.ToString (), "#1");
}
+
+ [Test] // bug #10194
+ public void SetElementValueNullOnNonExistingElement ()
+ {
+ var xd = XDocument.Parse ("<foo />");
+ xd.Root.SetElementValue (XName.Get ("bar"), null);
+ }
}
}