2009-02-03 7 views
4

J'écris un simple processeur CSV en XML en Java. J'utilise JAXB pour générer un modèle en Java à partir d'une DTD. J'ai besoin de traiter le format CSV dans ce modèle, et puis le marshall dans le XML qui est conforme à la DTD. J'utilise JAXB pour comparer les données du modèle Java au XML. Je dois écrire moi-même le mappage CSV-Model.Mappage CSV à un modèle

Pour l'instant, je ne vois pas de meilleure solution que de mapper directement le CSV au modèle Java en le lisant et en l'assignant au modèle en code.

Y a-t-il une solution plus élégante à cela que vous pouvez penser? Peut-être une bibliothèque de cartographie réutilisable, etc.?

Merci d'avance.

Répondre

2

J'utilise habituellement la bibliothèque flatpack pour analyser CSVs en Java modèles. Flatpack Project on sourceforge

It i s est très simple à utiliser et utilise des mappages XML pour gérer la projection CSV vers le modèle (n'induisant donc pas le bon couplage entre votre csv et vos objets java)

+0

Awesome. C'est juste ce que je cherchais. Merci. – bowsie

1

Si vous avez une cartographie straightforard, vous pouvez utiliser un outil thirdparty pour mapper directement csv au format XML (par exemple csv2xml converter

Vous pouvez également lire le fichier csv comme une collection de cartes avec la « clé » comme nom de . la propriété correspondante dans la classe java Ensuite, vous pouvez écrire un analyseur simple qui utilisera la réflexion pour définir les valeurs de csv de la carte en objets java