J'ai beaucoup de html et je veux le traiter via xpath. Il existe deux façons possibles texte peut se produire:Récupérer du texte avec xpath dans la structure html dynamique
<div>
The Text
</div>
<!-- OR -->
<div>
<span>The Text</span>
</div>
<!-- BUT NOT -->
<div> other text
<span>The Text</span>
</div> other text
Est-il possible que je peux chercher « le texte » avec une seule expression XPath?
modifier:
structure en béton:
<div id="content">
<h1>...</h1>
<div>
...
</div>
<div>
<span>The Text</span>
</div>
Je reçois le nœud de contenu via //div[@id='content'][1]
et le réutiliser à d'autres fins. Sur ce nœud de contexte, j'ai essayé d'exécuter ./div[2]/span/text() | ./div[not(span)][2]/text()
. Cela fonctionne s'il n'y a pas de span, mais retourne blank/null s'il y a un spawn. Im en utilisant l'implémentation Java xpath. La div est toujours la deuxième du noeud de contenu.
Il suffit d'obtenir la div et lire sa propriété textContent – Musa
Il serait utile de montrer ce que XPath vous avez essayé, quel était le résultat, et en quoi il diffère du résultat que vous vouliez. – LarsH