一个C#分析html的包,以前思考如何分析html,总是毫无头绪,情况太多,太复杂。后来在一个老外写的Spider程序里发现了这个。非常好用,屡试不爽,现在才知道自己写程序还在一个很低的层次,尤其是面向对象思想的理解。利用继承的思想来分解问题,利用多个类来实现多种情况的变化,这个才是OO思想,而自己很多时候只是为了OO而去OO,其实水平还是停留在面向过程里。好好分析下这些代码,受益颇多。


以上是一个基础类,专门用来分析html属性的。


以上是一个属性列表。


上面的是分析标签的,并且将标签的属性Parse进属性列表里。


最后一个类是用来从HTML里分离出Tag,进而适合分析属性时使用。

通过以上4个类,将一个原本很难分析问题的变得很轻松的解决了。其实这里就透露出一种分析问题解决问题的思考过程。我想程序员应该养成的习惯就是将一个复杂的问题步步分解,分解成很多个很细小的问题,小问题解决了,这个复杂的问题也就解决了。而这些问题之间的逻辑联系如何组织,如何做到偶合性最低,是很值得思考的一个问题。现在想想以前在大学里学的软件工程,似乎可以渐渐明白了什么是健壮,什么是可复用。