Разбор HTML с C #

c# html html-agility-pack windows-phone

Вопрос

Я хотел бы проанализировать страницу html с помощью C #. Есть html-страницы, содержащие много html-тегов, вот пример одного из них:

<span class=text14 id="article_content"><!-- RELEVANTI_ARTICLE_START --><span ></b>The 
     most important component for <a
     class=bluelink href="http://www.ynetnews.com/articles/0,7340,L-
     3284752,00.html%20"' onmouseover='this.href=unescape(this.href)' 
     target=_blank>Israel</a>'s
     security is its special relations with the American administration, and especially with its generous purse. When the Netanyahu government launches a great outcry against the <a  ...

но мне бы хотелось получить контент, обернутый <span class=text14 id="article_content"> . Сначала я думал об использовании preg match, но потом понял, что он неэффективен вообще. Я позже прочитал о Html Agility Pack и FizzlerEx - я хотел бы узнать, можно ли получить текст, обернутый конкретным тегом, который я упомянул, используя эти инструменты, и я был бы признателен, если бы кто-нибудь мог мне сказать, как быстро эта задача может быть выполнена.

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

Это довольно просто, используя Html Agility Pack :

var markup = @"<span class=text14 id=""article_content""><!-- RELEVANTI_ARTICLE_START --><span ></b>The most important component for <a class=bluelink href=""http://www.ynetnews.com/articles/0,7340,L-3284752,00.html%20""' onmouseover='this.href=unescape(this.href)' target=_blank>Israel</a>'s security is its special relations with the American administration, and especially with its generous purse. When the Netanyahu government launches a great outcry against the</span>";

var doc = new HtmlDocument();
doc.LoadHtml(markup);

var content = doc.GetElementbyId("article_content").InnerText;

Console.WriteLine(content);


Related

Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow