ratty
ratty

Reputation: 13434

C#: Null reference exception thrown while using XmlDocment

A NullReferenceException is thrown by the runtime when I convert XElement into XmlNode using the following function:

public static XmlNode GetXmlNode(this XElement element)
{
    using (XmlReader xmlReader = element.CreateReader())
    {
        XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.Load(xmlReader);
        xmlDoc.ChildNodes[4].InnerXml = "0.15"; ====> null reference exception occurs here
        return xmlDoc;
    }
}

How can I convert XElement to XmlNode without this problem?

Upvotes: 1

Views: 1003

Answers (1)

Ahmad Mageed
Ahmad Mageed

Reputation: 96477

Access the DocumentElement first in order to get the root:

xmlDoc.DocumentElement.ChildNodes[4].InnerXml = "0.15";

EDIT: an XmlDocument inherits from XmlNode. You should be able to simply do this:

XmlNode node = xmlDoc.DocumentElement;
return node;

If you need to cast it for a particular method you could use (XmlNode)xmlDoc.DocumentElement or xmlDoc.DocumentElement as XmlNode.

Upvotes: 2

Related Questions