html - expressions - Consulta XPath: obtener el atributo href de una etiqueta
xpath value (1)
Quiero usar XPath para obtener el atributo href
de un -tag, pero tiene dos apariciones dentro del mismo archivo. ¿Cómo me llevo? Necesito verificar SI hay un atributo href
con valor $ street / object, tengo este código y no funciona:
$product_photo = $xpath->query("//a[contains(@href,''{$object_street}fotos/'')][1]");
$product_360 = $xpath->query("//a[contains(@href,''{$object_street}360-fotos/'')][1]");
$product_blueprint = $xpath->query("//a[contains(@href,''{$object_street}plattegrond/'')][1]");
$product_video = $xpath->query("//a[contains(@href,''{$object_street}video/'')][1]");
No devuelve nada en absoluto. ¿Quién me puede ayudar?
Para el siguiente documento HTML:
<html>
<body>
<a href="http://www.example.com">Example</a>
<a href="http://www..com">SO</a>
</body>
</html>
La consulta xpath /html/body//a/@href
(o simplemente //a/@href
) devolverá:
http://www.example.com http://www..com
Para seleccionar una instancia específica, utilice /html/body//a[N]/@href
,
$ /html/body//a[2]/@href http://www..com
Para probar las cadenas contenidas en el atributo y devolver el atributo, coloque la marca de verificación en la etiqueta, no en el atributo:
$ /html/body//a[contains(@href,''example'')]/@href http://www.example.com
Mezclando los dos:
$ /html/body//a[contains(@href,''com'')][2]/@href http://www..com