web-dev-qa-db-fra.com

XPath Query: obtient l'attribut href d'une balise

Je veux utiliser XPath pour obtenir l'attribut href à partir d'une balise a-, mais il y a deux occurrences dans le même fichier. Comment je me débrouille? J'ai besoin de vérifier SI il y a un attribut href avec la valeur $ street/object, j'ai ce code et ça ne marche pas:

$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]");

Il ne retourne rien du tout. Qui peut m'aider?

34
user3239713

Pour le document HTML suivant:

<html>
  <body>
    <a href="http://www.example.com">Example</a> 
    <a href="http://www.stackoverflow.com">SO</a> 
  </body>
</html>

La requête xpath /html/body//a/@href (ou simplement //a/@href) retournera:

 http://www.example.com 
 http://www.stackoverflow.com 

Pour sélectionner une instance spécifique, utilisez /html/body//a[N]/@href,

 $ /html/body//a[2]/@href
 http://www.stackoverflow.com 

Pour tester les chaînes contenues dans l'attribut et renvoyer l'attribut lui-même, cochez la balise non sur l'attribut:

[. ____]

Mélanger les deux:

[. ____]
68
mockinterface