Html Agility Pack を使用して HTML 文字列フラグメントを解析できますか?
そのような:
var fragment = "<b>Some code </b>";
<b>
次に、すべてのタグを抽出しますか? これまでに見たすべての例は、html ドキュメントのようにロードされていました。
Html Agility Pack を使用して HTML 文字列フラグメントを解析できますか?
そのような:
var fragment = "<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 に向けさせますが、この場合は正規表現を使用する方がよいと思います。
Roy Osherove は、スニペットからすべての html を削除する方法を説明するブログ投稿を持っています。
Mika Kolari のサンプルで正しい xpath を取得したとしても、これは <b> タグを含むスニペットに対してのみ機能し、コードが変更されると機能しなくなります。