C# 为什么代码返回';对象引用未设置为对象的实例';错误?
我尝试使用XmlDocument加载xml文件。但是,代码总是返回“对象引用未设置为对象实例”错误C# 为什么代码返回';对象引用未设置为对象的实例';错误?,c#,xml,xmldocument,C#,Xml,Xmldocument,我尝试使用XmlDocument加载xml文件。但是,代码总是返回“对象引用未设置为对象实例”错误 namespace TestP2 { class Program { static void Main() { XmlDocument xd = new XmlDocument(); xd.Load(@"c:\1\1.xml"); XmlNodeList nodelist = xd.SelectNodes("E1/E2/E3");
namespace TestP2
{
class Program
{
static void Main()
{
XmlDocument xd = new XmlDocument();
xd.Load(@"c:\1\1.xml");
XmlNodeList nodelist = xd.SelectNodes("E1/E2/E3");
foreach (XmlNode node in nodelist)
{
string test = "";
test += node.Attributes.GetNamedItem("function").Value;
Console.WriteLine(test);
}
}
}
}
我如何解决这个问题 您的“代码”之所以这样做,是因为存在对不存在的对象的引用。您可以通过调试并检查哪个对象引用此不存在的对象来解决此问题
对于XML,很可能找不到节点或属性。但是,如果没有完整的错误消息和XML,就不可能为您解决此问题。您的“代码”会这样做,因为存在对不存在的对象的引用。您可以通过调试并检查哪个对象引用此不存在的对象来解决此问题
对于XML,很可能找不到节点或属性。但是,如果没有完整的错误消息和XML,就不可能为您解决此问题。此代码到处都有漏洞,如果没有任何其他解释,任何这些都可能是原因
xd.SelectNodes(“E1/E2/E3”)
是否返回值?如果返回null,则foreach
语句将抛出异常李>
node.Attributes.GetNamedItem(“函数”)
在任何情况下都返回null吗?如果是这样,那么当您请求.Value
时,它将抛出异常李>
这段代码到处都有漏洞,没有任何其他解释,其中任何一个都可能是原因
xd.SelectNodes(“E1/E2/E3”)
是否返回值?如果返回null,则foreach
语句将抛出异常李>
node.Attributes.GetNamedItem(“函数”)
在任何情况下都返回null吗?如果是这样,那么当您请求.Value
时,它将抛出异常李>
我怀疑.Value可能为null或未初始化。请检查堆栈跟踪并验证。我怀疑.Value可能为null或未初始化。请检查堆栈跟踪并验证。是否可以显示有错误的堆栈。是否可以显示有错误的堆栈。