7

Html Agility Pack を使用して HTML 文字列フラグメントを解析できますか?

そのような:

var fragment = "<b>Some code </b>";

<b>次に、すべてのタグを抽出しますか? これまでに見たすべての例は、html ドキュメントのようにロードされていました。

4

3 に答える 3

10

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;
于 2010-03-29T05:13:19.780 に答える
2

これが本当に HtmlAgilityPack の最適な使い方だとは思いません。

通常、正規表現を使用して大量の html を解析しようとしている人を見かけます。私はそれらを HtmlAgilityPack に向けさせますが、この場合は正規表現を使用する方がよいと思います。

Roy Osherove は、スニペットからすべての html を削除する方法を説明するブログ投稿を持っています。

Mika Kolari のサンプルで正しい xpath を取得したとしても、これは <b> タグを含むスニペットに対してのみ機能し、コードが変更されると機能しなくなります。

于 2010-04-04T14:34:40.240 に答える