XPATH表达式导航到下一页

时间:2014-05-30 16:11:16

标签: xml xpath

我正在尝试编写一个找到“>”的XPATH表达式此页面上的符号导航到下一页。该网站是:

http://classifieds.kelownadailycourier.ca/kelowna/automotive/search

我在这段代码中使用它('loop'标签):

    <name>
    <loop xpath='//A[contains(.,">")]'>
       <follow xpath='... '>
            <extract xpath='...' />
       </follow>
    </loop>
    </name>

正如你所看到的,我试图想出一个XPATH,但它没有用。有人能帮助我吗?

1 个答案:

答案 0 :(得分:1)

您提供的XPath将查找名称为A的元素,这些元素不在命名空间中,但是您链接到您要查找的元素的文件名为a(小写 - 记住XML,因此XHTML是区分大小写的)并且由于根http://www.w3.org/1999/xhtml元素上的xmlns="..."而位于html命名空间中。您需要将前缀绑定到该命名空间URI,然后在XPath表达式中使用该前缀。

您还没有说过您使用什么技术来评估XPath表达式,所以我不知道将xmlns:h="http://www.w3.org/1999/xhtml"添加到您的XML或者您使用的工具是否需要声明在XPath中使用的命名空间的不同方法,但是一旦你可以获得声明的前缀

//h:a[contains(., ">")]

应该有效。或者,您可能希望选择更具体的特定元素,例如

//h:li[contains(@class, "ap_paginator_next_page")]/h:a