DOMXpath-获取元素的href属性和文本值
所以我有一个这样的HTML字符串:
<td class="name"> <a href="/blah/somename23123">Some Name</a>
</td>
<td class="name">
<a href="/blah/somename28787">Some Name2</a>
</td>
使用XPath,我可以使用以下Xpath查询来获取href属性的值:
$domXpath = new \DOMXPath($this->domPage); $hrefs = $domXpath->query("//td[@class='name']/a/@href");
foreach($hrefs as $href) {...}
而且,获得文本值甚至更容易,如下所示:
// Xpath auto. strips any html tags so we are // left with clean text value of a element
$domXpath = new \DOMXPath($this->domPage);
$names = $domXpath->query("//td[@class='name']/");
foreach($names as $name) {...}
现在,我很想知道,我如何才能将这两个查询组合在一起而只用一个查询来获得两个值(如果这甚至是可能的话?)。
回答:
取
//td[@class='name']/a
然后使用选中文本,使用选中nodeValue
属性getAttribute('href')
。
除此之外,您可以将Xpath查询与Union Operator结合使用,|
从而可以使用
//td[@class='name']/a/@href|//td[@class='name']
也一样
以上是 DOMXpath-获取元素的href属性和文本值 的全部内容, 来源链接: utcz.com/qa/430676.html