我在做一个多线程并行处理HTML页面的程序,在页面分析过程中遇到了难题,请教高手。目前我将通过WebRequest获取的HTML数据流通过IHTMLDocument3来获取dom树,从而转化为XML进一步转化为结构化数据。问:这种方式可取么?有没有更好的方式来将HTML数据流转化为结构化数据。如果可取的话如何将WebRequest获取的HTML数据流转化为dom树,我不知道如何在多线程程序中高效的将字符转类型转化为IHTMLDocument3。

解决方案 »

  1.   

    这样做,并不可取。原因是:
    各网站的页面结构(指<Table><TH><TD></TD></TH></Table>)不同。   是
         <TH><TD></TD></TH>,
       也可能是<TH><TD><TH><TD></TD></TH></TD><TD></TD><TD></TD></TH>等等
       这样是与xml的风格截然不同的。建议你这样处理:
    把网页中有用的内容先选取出来,再使用正则表达式进行分解,形成符合xml文档的格式数据后,在保存为xml文件。这时,你的实现方法就可以多种多样了。
      

  2.   

    使用Sgml reader这里可以下载:http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=B90FDDCE-E60D-43F8-A5C4-C3BD760564BC
      

  3.   

    可以说XML比HTML要求严格太多,所以,基本上不能简单地从HTML到XML。上面的两个解答都是不错的思路。