Função contém() do XPath sem distinção entre maiúsculas e minúsculas
No XPath, a função contém() diferencia maiúsculas de minúsculas. No entanto, existem maneiras de contornar essa limitação.
Método 1: traduzir caracteres
Este método envolve a tradução de caracteres para letras minúsculas ou maiúsculas antes de verificar a substring:
/html/body//text()[ contains( translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'test' ) ]
Isso converte todas as letras maiúsculas do texto em minúsculas antes de verificar a substring "test".
Método 2: expressão XPath dinâmica
Usando uma linguagem de script como JavaScript, você pode construir uma expressão XPath dinâmica que lide com insensibilidade a maiúsculas e minúsculas:
function xpathPrepare(xpath, searchString) {
return xpath.replace("$u", searchString.toUpperCase())
.replace("$l", searchString.toLowerCase())
.replace("$s", searchString.toLowerCase());
}
xp = xpathPrepare("//text()[contains(translate(., '$u', '$l'), '$s')]", "Test");
Isso substitui os espaços reservados na expressão XPath com versões em maiúsculas, minúsculas e minúsculas da string de pesquisa.
Considerações Adicionais
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3