J'ai la structure DOM/HTML suivante, je veux obtenir (juste pratiquer ...) les données marquées.
Celui qui se trouve sous l'élément h2. cet élément div [@ class = "coordsAgence"] a quelques enfants div ci-dessous et d'autres h2.
div[@class="coordsAgence"]
Obtiendra cette valeur, mais avec du texte supplémentaire inutile. UPDATE : La valeur (de cet exemple) que je veux fondamentalement est la suivante: texte "GALLIER Dennis".
Il semble que vous vouliez le premier nœud de texte dans ce div:
div[@class="coordsAgence"]/text()[1]
devrait le faire.
Notez que cela suppose qu'il n'y a en fait aucun espace entre ces commentaires à l'intérieur de <div class="coordsAgence">
; sinon, cet espace constituera des nœuds de texte supplémentaires dont vous devrez tenir compte.
Récupère le premier nœud de texte après le premier h2
dans le div
avec la classe "coordsAgence"
:
div[@class='coordsAgence']/h2[1]/following-sibling::text()[1]
Notez que cette première expression renvoie le premier nœud de texte après le premier h2
même lorsqu'un autre nœud apparaît entre les deux. Si vous souhaitez renvoyer le texte uniquement lorsque c'est le nœud qui immédiatement suit le premier h2
, puis essayez quelque chose comme ceci:
div[@class='coordsAgence']/h2[1][following-sibling::node()[1][self::text()]]/following-sibling::text()[1]