Xpath pour la sélection d'un identifiant HTML, y compris un nombre aléatoire

html html-agility-pack xpath

Question

Salut, comment sélectionner tous les liens quand ils ont l'identifiant suivant.

<a id="List_ctl01_link3" class="content" href=link1.aspx">
<a id="List_ctl02_link3" class="content" href=link2.aspx">
<a id="List_ctl03_link3" class="content" href=link3.aspx">
<a id="List_ctl04_link3" class="content" href=link4.aspx">

Etc...

Veuillez noter que la dernière partie "link3" est importante et doit être incluse dans le Xpath.

J'utilise le pack d'agilité C # et Html.

Réponse acceptée

Si vous utilisez xpath 2.0, vous pouvez essayer les fonctions de correspondance et utiliser des expressions régulières. Si vous utilisez xpath 1.0, vous devrez probablement écrire votre analyseur d'attribut personnalisé (consultez la page suivante: xsl: function). AFAIR la fonction de correspondance est disponible uniquement xpath 2.0.

Probablement @id [commence-par (., 'List_ct') et se termine-par (., 'Link3')] est une autre façon de le faire.


Réponse populaire

Salut, comment puis-je sélectionner tous les liens quand ils ont l'identifiant suivant

Utilisez cette expression XPath:

//a[@id[starts-with(.,'List_ctl')][substring(.,string-length()-5)='_link3']]

Remarque : Il n'y a pas de fn:ends-with() dans XPath 1.0. Utilisez le dernier prédicat à la place.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi