Carattere jolly XPath nel valore dell'attributo

c# html-agility-pack xpath

Domanda

Ho il seguente XPath per abbinare gli attributi dell'intervallo di classe:

//span[@class='amount']

Voglio abbinare tutti gli elementi che hanno l'attributo di classe di "importo" ma possono anche avere altre classi. Pensavo di poterlo fare:

//span[@class='*amount*'] 

ma questo non funziona ... come posso fare questo?

Risposta accettata

Usa la seguente espressione:

//span[contains(concat(' ', @class, ' '), ' amount ')]

È possibile utilizzare contains da solo, ma potrebbe anche corrispondere a classi come someamount . Prova l'espressione sopra nel seguente input:

<root>
  <span class="test amount blah"/>
  <span class="amount test"/>
  <span class="test amount"/>
  <span class="amount"/>
  <span class="someamount"/>
</root>

Selezionerà i primi quattro elementi di span , ma non l'ultimo.


Risposta popolare

Devi usare contiene il metodo. Vedi Come usare XPath contains () qui?

//span[contains(@class,'amount')]



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché