Xpath para seleccionar ID de html incluyendo número aleatorio

html html-agility-pack xpath

Pregunta

Hola, ¿cómo seleccionaría todos los enlaces cuando tengan la siguiente identificación?

<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">

Y así...

Tenga en cuenta que la última parte "link3" es importante y debe incluirse en el Xpath.

Estoy usando C # y paquete de agilidad de HTML.

Respuesta aceptada

En caso de que use xpath 2.0, puede probar las funciones de coincidencia / coincidencia y usar expresiones regulares. Si está con xpath 1.0 probablemente tendrá que escribir su analizador de atributos personalizados (eche un vistazo a xsl: function). AFAIR la función de coincidencia está disponible solo xpath 2.0.

Probablemente, @id [comienza con (., 'List_ct') y termina con (., 'Link3')] es otra forma de hacerlo.


Respuesta popular

Hola, ¿cómo seleccionaría todos los enlaces cuando tengan la siguiente identificación?

Utilice esta expresión XPath:

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

Nota : No hay fn:ends-with() en XPath 1.0. Utilice el último predicado en su lugar.



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué