2016-01-17 5 views
-1

Я пытаюсь получить значение вложенной DIV с помощью HtmlAgilitypack .my HTML код выглядит так:вложенными возвращает ДИВ InnerText Объект ссылка не указывает на экземпляр объекта в HtmlAgilitypack

enter image description here

здесь мой код:

 var val = resultat1.DocumentNode.SelectSingleNode("//div[@class='journal-content-article']/div[@class='news_page max']/div[@class='news_page_wrapper']/div[@class='news_page_content']/div[@class='news_content']/div[@class='news_content_container']").InnerText; 

мне нужно InnerText из news_content_container. этой линии возврата кода Object reference not set to an instance of an object

Это возвращает ошибку:

 var val = resultat1.DocumentNode.SelectSingleNode("//div[@class='journal-content-article']/div[@class='news_page max']").InnerText; 

Это возвращает значение, но не ожидаемое значение:

 var val = resultat1.DocumentNode.SelectSingleNode("//div[@class='journal-content-article']").InnerText; 
+1

Ссылка на объект не установлена, очевидно, потому что SelectSingleNode возвращает null, и вы пытаетесь получить свойство InnerText. Вы должны попытаться выбрать элемент шаг за шагом, чтобы найти проблему. –

+0

@MehrzadChehraz да, вы правы, но я использую xpath для получения значения элемента –

+0

Okey, но вам нужно отлаживать, пытаясь выбрать элемент шаг за шагом, чтобы найти, где SelectSingleNode возвращает null. Это может быть опечатка или что-то еще. –

ответ

0

Много раз содержание HTML страницы не очень хорошо образован. Проверка в браузере не отображает фактический HTML, полученный с сервера. Вы можете найти фактический HTML-код в Source вкладке инспектора.

Прежде чем передать его в HtmlAgilitypack, вам необходимо исправить неформованный HTML. Вот a site you can use (вы можете использовать, отправив сообщение HTTP на сайт и получить «прекрасный html» от ответа)

 Смежные вопросы

  • Нет связанных вопросов^_^