Función XPath que no distingue entre mayúsculas y minúsculas()
En XPath, la función contiene() distingue entre mayúsculas y minúsculas. Sin embargo, hay formas de solucionar esta limitación.
Método 1: Traducir caracteres
Este método implica traducir caracteres a minúsculas o mayúsculas antes de verificar la subcadena:
/html/body//text()[ contains( translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'test' ) ]
Esto convierte todas las letras mayúsculas del texto a minúsculas antes de verificar la subcadena "prueba".
Método 2: Expresión XPath dinámica
Utilizando un lenguaje de secuencias de comandos como JavaScript, puede construir una expresión XPath dinámica que maneje la distinción entre mayúsculas y 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");
Esto reemplaza los marcadores de posición en la expresión XPath con versiones en mayúsculas, minúsculas y minúsculas de la cadena de búsqueda.
Consideraciones adicionales
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3