2010-08-16 25 views
5

Estoy escribiendo una función de importación de archivos XML en mi aplicación Java. Estoy usando XOM para analizar los archivos XML. El código para analizar el XML no es fácil de entender, es algo codificado .getChild(3) y así sucesivamente. Es difícil seguir el código en comparación con el documento XML declarativo.¿Existe alguna forma declarativa de analizar objetos XML a Java?

¿No hay una forma más fácil de analizar documentos XML a objetos Java? Me gustaría tenerlo de una manera más declarativa, donde puedo especificar qué etiquetas corresponden a las clases de Java.

Respuesta

0

Finalmente encontré XStream que era fácil de usar y analiza el XML de forma declarativa.

+0

Visita: http://bdoughan.blogspot.com/2010/10/how-does-jaxb-compare-to-xstream.html –

1

Tenga una mirada en Apache Commons Digester.

+1

¿Sigue siendo Digester un proyecto activo? No veo ninguna actualización en su sitio desde enero de 2009. –

+0

El digestor es estable, menos activo pero aún se mantiene. –

3

Eche un vistazo a JAX/B: enfoque bastante simple basado en anotaciones. Es una API Java estándar.

Existen herramientas para generar clases de Java anotadas a partir de XSD o ejemplos de archivos XML. Describo mi uso de él en my blog

+0

Gracias, leí tu publicación en el blog. Debe tener un gran IDE cuando puede hacer clic derecho en un archivo XML y luego generar el XSD. No encuentro esta opción en Eclipse que estoy usando.Tengo que leer sobre JAXB. – Jonas

+0

Consulte el soporte JAXB que se agrega al proyecto Eclipse Dali: http://www.eclipse.org/webtools/releases/3.2.0/NewAndNoteworthy/jpa.php –

1

De acuerdo JAXB (JSR-222) es la mejor solución. Tenga en cuenta que JAXB es una especificación que significa que tiene una opción de implementaciones:

estándar JAXB le permite especificar las asignaciones por medio de anotaciones, MOXy JAXB también le permite especificar los metadatos a través de XML :

Si desea una solución fácil de mantener que necesita para romper la relación de uno a uno entre los elementos XML que se encuentra en soluciones de unión casi todos XML, y el uso de XPath basado en la cartografía utilizada en moxy:

2

Me gusta mucho Simple para convertir XML a Java.

+0

Visite: http://bdoughan.blogspot.com /2010/10/how-does-jaxb-compare-to-simple.html –

1

El marco XML Simple usa anotaciones en campo y declaraciones de métodos, así como en las definiciones de clases para asignar XML a Java y viceversa. Es mucho más ligero que JAXB (que absorbe toneladas de dependencias). De hecho, no tiene dependencias externas en absoluto. Y es más rápido también. Intenté JAXB muchas veces, pero encontré las anotaciones y la funcionalidad incómodas y engorrosas. Consulte el Tutorial.

Cuestiones relacionadas