本帖最后由 浮华、缠绕指尖 于 2015-10-2 18:52 编辑
XML和HTML还是存在不少区别的,比如开闭原则等(下面几句是百度的,大概就是XML的格式比HTML的格式要严格)HTML的语法格式比XML宽松多了,真正XML格式的网页是XHTML,也就是下一代HTML,他的格式和XML差不多,很严谨的。
1.HTML的节点可以没末节点,你需要不停扫描<,>,/,这三个符号以检查是否漏掉末节点,并补充。
2.HTML节点还可以不规则嵌套,你需要对已读入节点进行顺序存储,或用栈的数据结构来存储,并验证其层次正确性,最终正确顺序的节点,期间还得缓存节点值,或属性值。
3.HTML不同于XML,许多HTML节点有特殊的意义,许多HTML节点比如<b>,<hr/>都需要经过特殊处理才行。 在VBA解析HTML的话一般都是使用htmlfile,当然如果想用XPATH来解析HTML格式的话,还是得先将HTML转换成XML格式,至少方法的可以用网上现成的方法或者使用自定义的类来转换
当然如果是在C#中的话,有封装好的可以使用HtmlAgilityPack,用这个的话就可以直接XPATH来解析HTML,还是很方便的
|