3

Я пытаюсь заставить HtmlAgilityPack работать с приложениями Windows 8 Metro (приложения для Windows Store). Я успешно выписал весь код, который мне нужен, в Windows Console App (C#), и он отлично работает для разбора HTML-кода, который мне нужен, и возвращает мне нужную строку, в которой я нуждаюсь.HtmlAgilityPack & Windows 8 Metro Apps

// Create a new HtmlDocument and load the incoming string 
     HtmlDocument menu = new HtmlDocument(); 
     menu.OptionUseIdAttribute = true; 
     menu.LoadHtml(response); 

     HtmlNode nameToRemove = menu.DocumentNode.SelectSingleNode("//*[@id=\"maincontent_0_contentplaceholder_0_lblHall\"]"); 

Моя проблема связана с вызовом DocumentNode.SelectSingleNode. Я получаю следующее сообщение об ошибке:

Error 2 'HtmlAgilityPack.HtmlNode' does not contain a definition for 'SelectSingleNode' and no extension method 'SelectSingleNode' accepting a first argument of type 'HtmlAgilityPack.HtmlNode' could be found (are you missing a using directive or an assembly reference?)

Я подтвердил, что у меня есть все установки ссылки точно таких же, как я сделал в консольном приложении, но не может получить эту работу. Согласно учетной записи twitter HtmlAgilityPack, поддержка Windows 8 Metro/Windows Phone 8 была добавлена ​​в версию 1.4.5. Я дважды проверял диспетчер пакетов NuGet, и у меня установлен 1.4.6.

Есть ли что-то особенное, что мне нужно сделать, чтобы выбрать узел по XPath в HtmlDocument в приложении Windows 8? Любые предложения будут высоко оценены.

Спасибо!

Редактировать: Может ли кто-нибудь помочь мне получить те же результаты с помощью запроса Linq. Я не знаю, как это сделать.

+0

Пожалуйста, проверьте [версия Metro и SelectNodes] (https://htmlagilitypack.codeplex.com/discussions/359358) & [HtmlAgilityPack и Windows 8 winRT] (http://stackoverflow.com/questions/12829137/htmlagilitypack-and -windows-8-winrt) – Xyroid

+0

Может ли кто-нибудь помочь мне получить те же результаты с помощью запроса Linq. Я не знаю, как это сделать. –

ответ

9

Html Agility Pack использует .NET для реализации XPATH. К сожалению, WinRT не поддерживает XPATH, поэтому у вас нет ничего связанного с XPATH в Html Agility Pack для WinRT.

+1

Нечетный этот ответ правильный, если HtmlAgilityPack утверждает, что поддерживает Windows 8 Metro (т. Е. Профиль .NET WinRT), это должно быть возможно. Я предполагаю, что этот проект фактически не поддерживает приложения Windows 8 (Windows Store), несмотря на то, что он это делает. Я действительно не вижу этого утверждения на веб-сайте проектов .... –

+1

Он поддерживает WinRT, но вам придется использовать другие средства, кроме XPATH, таких как Linq, Descendants и т. Д. –

+0

Я думаю, что у меня было мозговой пердит, я читал WinRT как Windows RT, а не профиль WinRT .NET (хотя я и думал об этом). –

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