質問: Html Agility Packは、少し前にStackOverflowの質問に対する答えとして提供されましたが、それでも最高のオプションですか?考慮すべき他のオプションは何ですか?もっと軽量なものはありますか?
回答: 比較のあるスプレッドシートがあります。 要約すれば: > CsQueryパフォーマンスとHtml Agility PackとFizzler CsQueryを私が知っている唯一の実用的な代替方法(Fizzler、HtmlAgilityPack拡張機能)と比較するためのパフォーマンステストをまとめました。私は3つの異なる文書に対してテストしました: > > * シズルテスト文書(約11 k) > * 「チーズ」(約170 k)のためのウィキペディアエントリーは、 > * 単一ページのHTML 5仕様(約6メガバイト) > > 全体的な結果は次のとおりです。 > > * HAPは、HTMLの文字列をオブジェクトモデルに読み込む方が高速です。 Fizzlerがインデックスを構築しているとは思わないので、これは理にかなっています(あるいは、比較的簡単なものだけを構築するかもしれません)。 CsQueryは、ドキュメントを読み込むのに1.1から2.6倍の時間がかかります。もっと詳しくはこちら。 > * CsQueryは他のほとんどのものに比べて高速です。時には10,000以上の要因によって。 1つの例外は「*」セレクタで、時にはFizzlerが高速である場合もあります。すべてのテストでは、結果は完全に列挙されます。この場合、ツリー内のすべてのノードが列挙されます。したがって、これはデータ構造と同じように選択エンジンをテストしません。 > * CsQueryはブラウザと同じ結果を返す上でより良い仕事をしました。ここの各セレクタは、jQuery 1.7.2を使用してChromeの同じドキュメントに対して検証され、その数値はCsQueryによって返されたものと一致します。これはおそらく、HtmlAgilityPackがオプションの(欠落している)タグを異なる方法で処理するためです。さらに、nth-childはFizzlerでは完全に実装されていません。単純な値(数式ではない)しかサポートしていません。 >