Question

Je l'ai écrit un analyseur XML avec DocumentBuilderFactory pour un fichier XML complexe. Parce qu'il ya beaucoup de différents types de nœuds qu'il ya beaucoup de code passe-partout. Pour chaque type de noeud (NodeName) J'ai une boucle sur les enfants et un commutateur pour les éléments enfants possibles.

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

Était-ce utile?

La solution

Plusieurs façons:

  • Refactor le code répété dans les méthodes reuseable.
  • Exploitez XPath pour sélectionner des nœuds spécifiques directement.
  • Convertir XML à fullworthy Javabean avec un outil, par exemple XMLBeans .

Autres conseils

L'API Java DOM est l'analyse syntaxique en effet un peu passe-partout. Il y a quelques autres bibliothèques:

L'écriture d'un analyseur personnalisé peut ne pas être le chemin à parcourir. Si vous simplement besoin de la carte XML en objets Java, une bibliothèque pré-existante ou un outil est le meilleur. Laisser quelqu'un d'autre vous soucier de passe-partout.

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top