142 votes

Générer des classes Java à partir de fichiers .XSD ...?

J'ai un gigantesque fichier de schéma .XSD du SDK QuickBooks qui définit les requêtes / réponses XML que je peux envoyer / recevoir de QuickBooks.

J'aimerais pouvoir générer facilement des classes Java à partir de ces fichiers .XSD, que je pourrais ensuite utiliser pour structurer les objets XML en Java, et les objets Java en XML.

Y a-t-il un moyen facile de faire ceci...?

Idéalement, aucune bibliothèque externe à la distribution Java de base ne serait nécessaire au moment de l'exécution. Mais je suis flexible ...

130voto

Ed Norris Points 776

Pour développer les commentaires "utiliser JAXB" ci-dessus,

Sous Windows "%java_home%\bin\xjc" -p [your namespace] [xsd_file].xsd

par exemple, "%java_home%\bin\xjc" -p com.mycompany.quickbooks.obj quickbooks.xsd

Attendez un peu, et si vous avez un fichier XSD bien formé, vous obtiendrez des classes Java bien formées.

126voto

basszero Points 14539

JAXB fait exactement ce que vous voulez. Il est intégré au JRE / JDK à partir de 1,6.

44voto

Aries McRae Points 726

Si vous voulez commencer à coder en Java pour XML et XML pour Java en moins de 5 minutes, essayez Simple de la Sérialisation XML. Ne passez pas des heures à apprendre l'API JAXB http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php

Toutefois, si vous avez vraiment envie sur l'apprentissage JAXB, voici un excellent tutoriel http://blogs.oracle.com/teera/entry/jaxb_for_simple_java_xml

33voto

Kumar Sambhav Points 751

En utilisant Eclipse IDE: -

  1. copier le xsd dans un projet nouveau / existant.
  2. Assurez-vous que vous avez JAR requis JAXB dans votre classpath. Vous pouvez en télécharger un ici .
  3. Faites un clic droit sur le fichier XSD -> Générer -> Classes JAXB.

16voto

TofuBeer Points 32441

XMLBeans le fera. Plus précisément, la commande "scomp".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X