2010-10-02 59 views
10

我在使用Javascript动态填充Html Agility包的网站内容。Html Agility Pack:查找注释节点

基本上,我在寻找XPATH "\\div[@class='PricingInfo']",但那个div节点正在通过Javascript写入DOM。

所以,当我通过Html Agility pack加载页面时,上面提到的XPATH无法找到。

原来在我想解析特定脚本块之前有一条评论。

<!--Module 328 Buying Options Table--> 
<script type="text/javascript" language="JavaScript"> 
    var data = { 
     price: 30.00 
    } 
</script> 

对于这个网站,有很多的脚本块,所以我需要在找到这个自动生成评价<!--Module 328 Buying Options Table-->和节点的兄弟将它缩小将是正确的脚本块。

有关如何搜索特定评论然后获取相邻脚本块的任何想法?

谢谢!

+1

+1不使用正则表达式! – TrueWill 2010-10-02 03:23:54

回答

15
htmlDoc.DocumentNode.SelectSingleNode("//comment()[contains(., 'Buying Options')]/following-sibling::script") 
+0

像一个魅力工作。谢谢!现在,我需要一种解析Javascript对象的方法。 – Abe 2010-10-02 03:32:06

+0

只需添加一件事。一旦我收到脚本说明,我就可以使用正则表达式解析出我需要的信息。谢谢! – Abe 2010-10-02 08:28:57