Manejo del espacio de nombres XML en consultas XPath de Java
En Java, al realizar consultas XML con XPath, los espacios de nombres pueden presentar un desafío. Cuando XML no contiene espacios de nombres, las consultas XPath pueden ser sencillas, pero la presencia de espacios de nombres introduce complejidades.
Caso 1: XML sin espacios de nombres
Para XML sin espacios de nombres, XPath Las consultas utilizan el espacio de nombres predeterminado, que en realidad no es un espacio de nombres. En este caso, consultas como "/workbook/sheets/sheet[1]" pueden recuperar elementos fácilmente.
Caso 2: XML con espacios de nombres
Sin embargo, XML con espacios de nombres como el siguiente añaden complejidad:
En tales casos, la expresión XPath "/workbook/sheets/sheet[1]" fallará porque los elementos están vinculados a "http://schemas.openxmlformats.org/spreadsheetml/ 2006/main".
Soluciones:
/*[local-name()='workbook' and namespace-uri()='http://schemas.openxmlformats.org/spreadsheetml/2006/main'] /*[local-name()='sheets' and namespace-uri()='http://schemas.openxmlformats.org/spreadsheetml/2006/main'] /*[local-name()='sheet' and namespace-uri()='http://schemas.openxmlformats.org/spreadsheetml/2006/main'][1]
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