C#:使用XmlDocment时抛出空引用异常

时间:2010-10-21 04:24:00

标签: c# xml nullreferenceexception

当我使用以下函数将XElement转换为XmlNode时,运行时抛出NullReferenceException

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;
    }
}

如何在没有此问题的情况下将XElement转换为XmlNode?

1 个答案:

答案 0 :(得分:2)

首先访问DocumentElement以获取根目录:

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

编辑: XmlDocument继承自XmlNode。你应该能够做到这一点:

XmlNode node = xmlDoc.DocumentElement;
return node;

如果您需要针对特定​​方法进行转换,可以使用(XmlNode)xmlDoc.DocumentElementxmlDoc.DocumentElement as XmlNode