Realizar transformación xml y filtrado en java.
Pregunta
Me gustaría filtrar un par de elementos xml anidados, evaluación de sus atributos. Para estos fines, estoy buscando una API o marco de Java eficiente y liviano.
Los principales requisitos son:
- filtrado de cuerpos de elementos, basado en algún patrón o condición
- transformación XML basada en eventos
Mi primera idea fue apache jelly, pero la gelatina tiene un efecto secundario desagradable. Elimina las etiquetas CDATA y ese es un comportamiento no deseado.
Gracias de antemano.
Solución 3
Finalmente implementé la cadena de filtros usando dom4j y xpath. Decidí por esta API porque es bastante útil si tienes que mover varias ramas dentro de un documento y su construcción en xpath facilita la búsqueda de los elementos deseados.
Gracias por sus respuestas.
Otros consejos
Vaya simple y pruebe SAX .
Estoy bastante seguro de que JXPath tiene capacidades de filtrado. Vale la pena echarle un vistazo probablemente :)
¿XSLT funcionaría para ti? Hay bibliotecas de Java integradas para esto, y el diseño es tal que puede configurar secciones solo cuando se cumplen ciertas etiquetas y / o condiciones. Entonces otra vez, tienes que aprender XSLT.
Yo uso y recomiendo xquery sobre xslt. Ambos son lenguajes funcionales y llevan algún tiempo acostumbrarse. Saxon apoya a ambos. Consulte http://saxon.sourceforge.net/