c# - parse - Comodín XPath en valor de atributo
htmlagilitypack load url (2)
Tengo el siguiente XPath para hacer coincidir los atributos del intervalo de clase:
//span[@class=''amount'']
Quiero hacer coincidir todos los elementos que tienen el atributo de clase de "cantidad", pero también puede tener otras clases. Pensé que podría hacer esto:
//span[@class=''*amount*'']
pero eso no funciona ... ¿cómo puedo hacer esto?
Usa la siguiente expresión:
//span[contains(concat('' '', @class, '' ''), '' amount '')]
Podría usar contains
por sí mismo, pero eso también coincidiría con clases como someamount
. Pruebe la expresión anterior en la siguiente entrada:
<root>
<span class="test amount blah"/>
<span class="amount test"/>
<span class="test amount"/>
<span class="amount"/>
<span class="someamount"/>
</root>
Seleccionará los primeros cuatro elementos de span
, pero no el último.
Necesitas usar el método contains. Consulte Cómo usar XPath contains () aquí? y http://www.exampledepot.com/egs/org.w3c.dom/xpath_GetElemByAttr.html
//span[contains(@class,''amount'')]