Eu tenho um código HTML assim:
<li>
<span class="a">b</span>
lorem ipsum
</li>
Quero obter o texto lorem ipsum, relacionado ao elemento span.
Eu tentei //following::span[@class="a"]/text()
, na minha opinião correto, como indicado em outro tópico - mas não funcionou para mim.
Lorem ipsum na verdade pertence ao
li
elemento como o segundo nó de texto, sendo o primeiro o espaço em branco entre os elementosli
espan
.Aqui está um XPATH rápido que retorna esse valor:
//span[@class="a"]/../text()[last()]
Advertência/Aviso: analisar HTML como um documento XML pode não funcionar, pois o HTML não precisa respeitar o aninhamento de elementos.
Este xpath receberá esse texto
Eu faria isso um pouco diferente das outras respostas, mas é apenas uma preferência pessoal que não gosto de voltar a subir na árvore (com
..
) ou usar ofollowing-sibling::
eixo se não for necessário.