2010-02-13 16 views
1

J'ai écrit un analyseur XML avec DocumentBuilderFactory pour un fichier XML complexe. Parce qu'il y a beaucoup de différents types de nœuds, il y a beaucoup de code standard. Pour chaque type de nœud (NodeName), j'ai une boucle sur les enfants et un commutateur pour les éléments enfants possibles.Comment empêcher la propagation du code Java lors de l'analyse d'un fichier XML complexe?

Est-il possible seulement d'enregistrer le code nécessaire pour les différents types de nœuds, puis exécuter l'analyse?

Répondre

2

Plusieurs façons:

  • Refactor répétées code dans les méthodes reuseable. Utilisez XPath pour sélectionner directement des nœuds spécifiques.
  • Convertir XML en Javabean complète avec un outil, par ex. XMLBeans.
0

L'écriture d'un analyseur personnalisé peut ne pas être le chemin à parcourir. Si vous avez simplement besoin de mapper XML en objets Java, une bibliothèque ou un outil préexistant est le meilleur. Laissez quelqu'un d'autre s'inquiéter de la norme.

Je suis un grand fan d'Apache Digester, qui prend un tas de règles et crée les beans Java pour vous. Pour un peu plus d'une courbe d'apprentissage, mais plus de flexibilité et de puissance, vous pouvez utiliser Apache XMLBeans.