Xpath表达式问题

时间:2010-09-15 18:49:51

标签: php xpath

我想要马赫(在实际情况下我使用DomDocument php)里面的链接:

案例:

<div class="d1">
  <span class="s1">
    <a class="myclass">my link</a>
  </span>
</div>

我的解决方案失败了:

'//div[@class="d1"]/span[@class="s1"]/a[@class="myclass"]'

我应该在xpath表达式中更改什么?

编辑: 在实际情况下,我在div的中间还有其他标签。 所以我通过添加/之前解决问题:

'//div[@class="d1"]//span[@class="s1"]/a[@class="myclass"]'

由于

2 个答案:

答案 0 :(得分:1)

你能试试吗

'// DIV [./@类= “D1”] /跨度[./@类= “S1”] / A [./@类= “MyClass的”]'

同样使用你给出的例子

//一个[./@类= “MyClass的”]

不够吗?

答案 1 :(得分:1)

您的XPath似乎是正确的。您可能正在尝试查询XHTML文档?然后你必须要记住XHTML名称空间:

// 1. registerXPathNamespace xhtml with your tool
// 2. query:
'//xhtml:div[@class="d1"]/xhtml:span[@class="s1"]/xhtml:a[@class="myclass"]'

只是一个想法...