Comment générer des classes JAXB à partir de XML


J'ai besoin de générer des classes à partir de XML qui ne fournissent pas de schéma. Je comprends que c'est presque inutile, mais le fait est que nous avons xml, c'est structuré, et nous devrions être capables de créer un modèle à partir du xml. Dans le passé, je l'ai fait à la main, mais les documents XML actuels avec lesquels je travaille sont assez volumineux et mon temps serait probablement mieux dépensé pour construire quelque chose qui fait ce dont j'ai besoin. Mais, je suppose que cela a déjà été fait, et je ne peux tout simplement pas le trouver.

Des pointeurs?

Author: DanInDC, 2011-02-14

3 answers

Il existe de nombreux outils disponibles (une recherche rapide sur Google devrait vous en chercher) qui peuvent générer XSD à partir de XML en supposant un type de chaîne pour presque tout. Vous devriez pouvoir utiliser ce XSD pour exécuter JAXB pour obtenir des classes.

Voici unoutil en ligne qui vous permet de le faire.

Et voici un bouchon d'écran: entrez la description de l'image ici

 58
Author: Bala R, 2011-02-14 17:54:40

À partir de votre fichier XML, vous pouvez créer un fichier de définition de schéma XML (XSD). Une fois que vous avez le XSD, vous serez en mesure de générer le code, que ce soit pour java, C#, C++ ou tout ce qui précède.

Si vous avez Visual Studio, vous pouvez utiliser xsd.exe pour générer le fichier XSD.

Références:

  • Www.xmlforasp.net/CodeBank/System_Xml_Schema/BuildSchema/BuildXMLSchema.aspx

  • Msdn.microsoft.com/en-us/library/x6c1kb0s(v=vs. 71).aspx

  • Syntaxe de commande: fichier xsd.xml [/outputdir:répertoire]

  • Donc "C:\Program Les fichiers\SDK Microsoft \ Windows\v6.0A\Bin\x64 \ xsd.EXE" exemple.xml donne un exemple.xsd fichier dans le même répertoire que le fichier xml.

XSD à Java: Référence:

XSD en C++: Références:

  • stackoverflow.com/questions/445905/xml-schema-to-c-classes
  • www.codesynthesis.com/products/xsd /

XSD à C#: Référence:

  • guide de démarrage rapide.developerfusion.co.royaume-uni/quickstart/howto/doc/xmlserialization/XSDToCls.aspx
  • Syntaxe de commande: "C:\Program Fichiers \ Microsoft Il est possible d'utiliser les fichiers SDK\Windows\v6.0A\Bin\x64\xsd.exe" - c-l: c# -n:SomeNameSpace exemple.xsd
 9
Author: James Oravec, 2012-05-15 20:44:36

Si le XML a été créé par JAXB, il peut facilement être reconverti en objets. Il y a un tutoriel sur oracle qui illustre une façon de le faire. Spring framework offre des fonctionnalités similaires en utilisant JAXB qui sont très pratiques.

 1
Author: Johan Sjöberg, 2011-02-14 17:56:29