Преобразовать результат get в DOM

perioh

Client
Регистрация
14.09.2016
Сообщения
28
Благодарностей
6
Баллы
3
Всем привет.
Через get запрос получил код страницы, хочу в нем воспользоваться методом FindElementByAttribute . Как это можно сделать?
 

IgorSush

Client
Регистрация
11.02.2016
Сообщения
312
Благодарностей
108
Баллы
43
Вставить HTML в браузер(либо открыть браузером как html файл) и он сделает DOM
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
AngleSharp вроде либа для этого есть
 
  • Спасибо
Реакции: masterLomaster и perioh

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113

perioh

Client
Регистрация
14.09.2016
Сообщения
28
Благодарностей
6
Баллы
3
Вставить HTML в браузер(либо открыть браузером как html файл) и он сделает DOM
Не вариант, шаблон работает без браузера
AngleSharp вроде либа для этого есть
Спасибо, посмотрю
 

sydoow

Client
Регистрация
22.06.2011
Сообщения
289
Благодарностей
149
Баллы
43
Столкнулся с этим пару дней назад (точнее мне нужно было не по атрибутам, а по xpath), нагуглил и заюзал либу "Html Agility Pack"

Вот как настраивал всё:
[УСТАНОВКА]
1) скачать http://htmlagilitypack.codeplex.com/
2) скопировать "HtmlAgilityPack.dll" (4.0) в "ExternalAssemblies"
3) добавить в "HtmlAgilityPack.dll", "System.Xml" (4.0)
4) Добавить в директивы using:
using HtmlAgilityPack;
using System.Web;
using System.Xml;

[ИСПОЛЬЗОВАНИЕ]
tmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); // создание объекта
doc.LoadHtml(resultget); // грузим DOM текст (из переменной resultget) в объект doc

var coll = doc.DocumentNode.SelectNodes("//h2").Count; // коллекция элементов
vat UrlImage = doc.DocumentNode.SelectSingleNode("//title").InnerText; // один элемент

[НЮАНС]
Если объект по xpath не находится, то идёт возврат null, поэтому нужно обвёртывать в try/catch

[ДОП ИНФА]
http://kronus.me/2011/04/введение-в-xpath-на-примере-простого-парсе/
Гугл: "site:zennolab.com c# htmlagilitypack"
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Если объект по xpath не находится, то идёт возврат null, поэтому нужно обвёртывать в try/catch
Если не находит, то нужно сравнивать с null, а не оборачивать в try/catch
 

sydoow

Client
Регистрация
22.06.2011
Сообщения
289
Благодарностей
149
Баллы
43
Если не находит, то нужно сравнивать с null, а не оборачивать в try/catch
Так если не находит - куб возвращает исключение и выход на красный, то есть не успеешь сравнить.
Или как сравнивать когда по другому?
 

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Находишь html элемент с xpath, сравниваешь его с null и если не null, то указываешь значение какого-либо параметра или действие, в противном случае тоже продумываешь свою логику
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
790
Благодарностей
136
Баллы
43

sydoow

Client
Регистрация
22.06.2011
Сообщения
289
Благодарностей
149
Баллы
43
  • Спасибо
Реакции: avtostopshik

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)