質問: 私は過去にHtmlAgilityPackを使って.NETのHTMLを解析しましたが、DOMモデルのみを使用しているというのは嫌いです。 大規模な文書やネスティングレベルが高い文書では、スタックのオーバーフローやメモリの例外を突く可能性があります。一般に、DOMベースの解析モデルでは、ストリーミングベースのアプローチよりも大幅に多くのメモリが使用されます。これは、通常、HTMLを使用するプロセスでは、一度に利用できる要素がほんの数だけ必要となるためです。 誰でも、 `XmlReader`クラスに似た方法でHTMLを解析できる、.Net用の適切なHTMLパーサを知っていますか?すなわち、前方のみのストリーミング方式で
回答: 私は通常このためにSgmlReaderを使います: https : //github.com/MindTouch/SGMLReader 他の人が言っているように、HTMLはXMLの正しい整形ルールに従わないという問題があります。そのため、本質的に解析するのは難しいですが、通常SgmlReaderはかなり良い仕事をします。