2010-09-15 104 views
0

我想马赫(在实际情况下,我使用的DomDocument PHP)内的链接:XPath表达式问题

案例:

<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之前跨度也其他标签。 洙我解决这个问题由加载/ SPAN前:

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

感谢

+0

这XPath是对我工作的罚款。 – Gordon 2010-09-15 19:01:22

回答

1

您的XPath似乎是正确的。可能你试图查询一个XHTML文档?然后,你必须介意XHTML namepace:

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

只是一个想法...

1

你能尝试

“//div[./@class="d1"]/span[./ @类= “S1”]/A [./@类= “MyClass的”]”

此外,使用已给出的示例将

//a[./@class="myclass“]

不够吗?