Ошибка xml: ссылка на объект не установлена ​​на экземпляр объекта после SelectSingleNode - PullRequest
1 голос
/ 14 апреля 2010

вот мой код:

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 ]

3 голосов
/ 14 апреля 2010

Как насчет разделения строки, чтобы увидеть, где происходит исключение?

// 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 + ",";
3 голосов
/ 14 апреля 2010

Документация для SelectSingleNode гласит, что возвращает ноль, если не найдено ни одного соответствующего узла. Вам придется исправить запрос или обработать ошибку, чтобы найти совпадение.

0 голосов
/ 14 апреля 2010

Браузеры делают все другие умные вещи, такие как следование перенаправлениям и работа с сессиями. Как насчет того, чтобы войти в код и взглянуть на свойство OuterXml в XmlDocument для документа, который не работает?

0 голосов
/ 14 апреля 2010

кажется, что doc.SelectSingleNode("WhoisRecord/registrant/email") является нулевым. Не удается получить свойство нулевого значения.

0 голосов
/ 14 апреля 2010

Единственная причина, по которой вы получите NullReferenceException, заключается в том, что запрос XPath возвращает ноль. Изучите XML перед выполнением запроса, чтобы увидеть, в чем проблема.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...