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

回到顶部