2012-01-22 21 views
5

Digamos que tengo este código:recibiendo sólo el primer resultado de una consulta DOM xRuta

$dom = new DOMDocument(); 
@$dom->loadHTMLFile('sample.html'); 
$xp = new DOMXPath($dom); 
$result = $xp->query("//input[@id='honey']"); 

¿Cómo consigo el contenido del atributo value de sólo el primer resultado, ya que sólo estoy esperando una resultado (sin usar un bucle foreach). Intenté var_dump -el resultado, pero no puede. También probé current($result)->getAttribute('value') pero no tuve suerte.

Respuesta

6

Se puede acceder a ella a través del siguiente método:

$value = $result->item(0)->attributes()->getNamedItem("value")->nodeValue; 
1

Sólo evaluar esta expresión XPath:

(//input[@id='honey'])[1]/@value 

Esto selecciona el atributo value de la primera input elemento en el documento XML, el valor de cadena de cuyo atributo id es "honey".

Si desea obtener el atributo no value, pero su valor de cadena, utilice:

string((//input[@id='honey'])[1]/@value) 
Cuestiones relacionadas