所以我有一个这样的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')。
nodeValue
getAttribute('href')
除此之外,您可以将Xpath查询与Union Operator结合使用,|从而可以使用
|
//td[@class='name']/a/@href|//td[@class='name']
也一样