我过去使用过
HtmlAgilityPack来解析.Net中的HTML但是我不喜欢它只使用DOM模型的事实.
在大型文档和/或嵌套级别较高的文档上,可能会遇到堆栈溢出或内存不足异常.通常,基于DOM的解析模型比基于流的方法使用更多的内存,这通常是因为想要消费HTML的过程可能一次只需要几个元素可用.
有没有人知道.Net的一个像样的HTML解析器,它允许你以类似于XmlReader类的方式解析HTML?即以前向唯一的流方式
解决方法
我通常使用SgmlReader:
https://github.com/MindTouch/SGMLReader
就像其他人所说的那样,存在一些问题,即HTML不遵循相同的格式良好的XML规则,因此解析本身很困难,但SgmlReader通常做得非常好.