Pregunta

He escrito un analizador XML con DocumentBuilderFactory para un archivo XML complejo. Debido a que hay muchos diferentes tipos de nodos que hay muchas código repetitivo. Para cada tipo de nodo (NombreNodo) Tengo un bucle sobre los niños y un interruptor para los elementos posibles niños.

¿Es posible sólo para registrar el código necesario para los diferentes tipos de nodos y luego ejecutar el análisis sintáctico?

¿Fue útil?

Solución

Varias maneras:

  • Refactor código repetido en métodos reutilizables.
  • XPath para seleccionar nodos específicos directamente.
  • Convertir XML a fullworthy Javabean con una herramienta, por ejemplo, XMLBeans .

Otros consejos

La API de Java análisis DOM es de hecho un poco repetitivo. Hay algunas otras bibliotecas:

Escribir un analizador personalizado no puede ser el camino a seguir. Si sólo tiene que mapear XML en objetos de Java, una biblioteca o una herramienta pre-existente es el mejor. Dejar que otra persona se preocupe por repetitivo.

Soy un gran fan de Apache digestor, que tiene un montón de reglas y buuilds los Java Beans para usted. Por un poco más de una curva de aprendizaje, pero más flexibilidad y potencia que podría utilizar Apache XMLBeans.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top