xml错误:在SelectSingleNode之后,对象引用未设置为对象的实例

时间:2010-04-14 19:30:51

标签: c# .net xml

这是我的代码:

XmlDocument doc = new XmlDocument();
foreach (string c in colorList)
{
     doc.Load(@"http://whoisxmlapi.com/whoisserver/WhoisService?domainName=" + c + @"&username=user&password=pass");
     textBox1.Text += doc.SelectSingleNode("WhoisRecord/registrant/email").InnerText + ",";
}

代码的第二行(textbox1 ...)正在生成此错误 我做错了什么?

5 个答案:

答案 0 :(得分:3)

如果找不到匹配的节点,documentation for SelectSingleNode表示它返回null。您必须修复查询或处理无法找到匹配项。

答案 1 :(得分:3)

如何分割线以查看异常发生的位置?

// if node is null the problem is with SelectSingleNode 
XmlNode node = doc.SelectSingleNode("WhoisRecord/registrant/email");

// if text is null the problem is with the node 
string text = node.InnerText;

// if textBox1 is null the problem is with textBox1
textBox1.Text += text + ",";

答案 2 :(得分:0)

获得NullReferenceException的唯一原因是XPath查询返回null。在运行查询之前检查XML以查看问题所在。

答案 3 :(得分:0)

似乎doc.SelectSingleNode("WhoisRecord/registrant/email")为空。无法获取null的属性。

答案 4 :(得分:0)

浏览器会执行各种其他聪明的操作,例如关注重定向和处理会话。如何进入代码并查看失败的文档的XmlDocument的OuterXml属性?