我使用这个xPath
$url = extractNodeValue('//*[@id="coremain"]/div[1]/div[1]/div/div[2]/a', $xPath);
从此HTML获取链接
<a href="http://www.domain.com" class="summary url" style="color: rgb(198, 35, 35);">Name of the link</a>
然而,我没有获取链接,而是获得链接的外观名称。我该如何解决这个问题?
答案 0 :(得分:0)
您希望获取href属性的属性而不是nodevalue:
'//*[@id="coremain"]/div[1]/div[1]/div/div[2]/a/@href'
答案 1 :(得分:0)
这取决于extractNodeValue()
实际执行的操作(并且您没有共享代码),但是根据其名称,它会提取节点值。并且<a>
元素的节点值是
"Name of the link"
因此,您应该指定节点,而不是要检索其值。 <a>
元素通常称为链接,因此不知道您的意思。可能是 href
属性?
参见:
编辑:我现在看到已更改的标题,您确实对href
属性感兴趣。它的工作方式如上面的链接所示,只需在属性名称前加上@
- 符号,以明确您正在寻找属性:
.../a/@href
这是在寻找href
元素的<a>
属性。 Xpath中的元素是它们具有的属性的父级。但属性不是孩子。 ?!这与DOM不同,请参阅: