假设我有这样的代码:
$dom = new DOMDocument();
@$dom->loadHTMLFile('sample.html');
$xp = new DOMXPath($dom);
$result = $xp->query("//input[@id='honey']");
如何仅获得第一个结果的属性value
的内容,因为我只期望一个结果(不使用foreach循环)。我试着用var_dump
来解释结果,但它做不到。我也试过current($result)->getAttribute('value')
,但运气不好。
您可以通过以下方法访问它:
$value = $result->item(0)->attributes()->getNamedItem("value")->nodeValue;
只需计算此XPath表达式:
(//input[@id='honey'])[1]/@value
这选择XML文档中第一个input
元素的属性value
,其id
属性的字符串值为"honey"
。
如果不想获取value
属性,而是想获取其字符串值,请使用:
string((//input[@id='honey'])[1]/@value)