簡體   English   中英

僅獲取DOM xPath查詢的第一個結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM