3 votes

Xpath : comment sélectionner le deuxième nœud de texte (nœud de texte spécifique)

Considérons une page html

<html>
apple

orange

drugs

</html>

comment sélectionner une orange en utilisant xpath ?

/html/text()[2]

ne fonctionne pas.

3voto

Andrew Keith Points 5627

Vous ne pouvez pas le faire directement en sélectionnant. Vous devez appeler une fonction xpath pour couper le text() afin d'obtenir la chaîne que vous voulez.

substring-after(/html/text()," ") // something like this,

voici un liste de fonctions de chaînes de caractères

1voto

akuhn Points 12241

Si les chaînes de caractères sont séparées par <br> ça marche

  doc = Nokogiri::HTML("""<html>
  apple
  <br>
  orange
  <br>
  drugs
  </html>""")
  p doc.xpath('//text()[2]') #=> orange

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X