Могу ли я использовать Html Agility Pack для этого?

.net c# html-agility-pack

Вопрос

Я не мог найти учебники на своем сайте. Мне интересно, могу ли я использовать Html Agility Pack и использовать его для анализа строки?

Как будто у меня есть

string = "<b>Some code </b>

могу ли я использовать пакет гибкости, чтобы избавиться от тегов <b> ? Все примеры, которые я видел до сих пор, загружались, как html-документы.

Принятый ответ

Если это html, то да.

string str = "<b>Some code</b>";
// not sure if needed
string html = string.Format("<html><head></head><body>{0}</body></html>", str);
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(html);

// look xpath tutorials for how to select elements
// select 1st <b> element
HtmlNode bNode = doc.DocumentNode.SelectSingleNode("b[1]");
string boldText = bNode.InnerText;

Популярные ответы

Я не думаю, что это действительно лучшее использование HtmlAgilityPack.

Обычно я вижу, что люди пытаются анализировать большое количество html с помощью регулярных выражений, и я указываю их на HtmlAgilityPack, но в этом случае я думаю, что было бы лучше использовать регулярное выражение.

У Роя Ошерове есть сообщение в блоге, описывающее, как вы можете вырезать весь html из фрагмента:

Даже если вы получили правильный xpath с образцом Мики Колари, это будет работать только для фрагмента с тегом <b> и сломается, если код изменится.



Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему