views:

41

answers:

1

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?

+2  A: 

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.

Ahmad Mageed
how can i convert it into XMLNode
ratty
@ratty see my edit.
Ahmad Mageed