[英]Getting Only the first result of a DOM xPath query
假設我有這段代碼:
$dom = new DOMDocument();
@$dom->loadHTMLFile('sample.html');
$xp = new DOMXPath($dom);
$result = $xp->query("//input[@id='honey']");
如何僅獲取第一個結果的屬性value
的內容,因為我只期望一個結果(不使用foreach循環)。 我嘗試了var_dump
-ing結果,但它不能。 我也試過current($result)->getAttribute('value')
但不是運氣。
您可以通過以下方法訪問它:
$value = $result->item(0)->attributes()->getNamedItem("value")->nodeValue;
只需評估此XPath表達式 :
(//input[@id='honey'])[1]/@value
這將選擇屬性value
的第一input
XML文檔中元件,的字符串值,其id
屬性是"honey"
。
如果您不想獲取value
屬性,而是獲取其字符串值,請使用 :
string((//input[@id='honey'])[1]/@value)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.