28 votes

Un moyen simple de faire du Xml en Java

Est-il est Simple façon de lire et écrire du Xml en Java?

J'ai utilisé un analyseur SAX avant, mais j'en ai un souvenir pas intuitif, j'ai regardé un couple de tutoriels pour JAXB et ça a juste l'air compliqué.

Je ne sais pas si j'ai été gâté par C#'s classe XmlDocument, mais Tout ce que je veux faire est de créer un Document Xml qui représente un ensemble de classes et de leurs membres (certains sont des attributs de certains éléments).

Je veux le regarder dans sérialisation, mais le XML doit avoir le même format que la sortie d'une application en c# qui je suis ingénierie inverse en Java.

15voto

grayger Points 719

Je recommande XOM . Son API est claire et intuitive.

8voto

Milhous Points 6362

Vous devriez vérifier Xstream . Il y a un tutoriel de 2 minutes qui est vraiment simple . Pour obtenir le même format, vous devez modéliser les classes de la même manière.

3voto

Marko Points 13736

Si vous utilisez jdk 1.4 ou une version plus récente, jetez un œil à la classe XMLEncoder .

3voto

toolkit Points 27248

Certains des plus populaires approches à prendre en compte:

Java Architecture for XML Binding

JAXB est une spécification pour le XML standard de liaison. Si vous avez déjà un XSD, il peut générer vos classes Java pour vous, et puis tout ce qui reste est d'utiliser une API standard pour marshalling/unmarshalling.

  • L'implémentation de référence de Glassfish
  • Apache est mise en œuvre JaxMe

D'autres approches de liaison

Comme avec JAXB, ces approches utilisent XML basé sur les configurations de liaison. Ils peuvent fournir plus de contrôle de précision de la unmarshalling processus.

Rouler votre propre

  • À L'Aide De StAX
  • À l'aide de XOM
  • À l'aide de la plaine de XPath

3voto

Kyle Dyer Points 103

Dom4j est une API simple pour créer des documents xml en java.

 Document document = DocumentHelper.createDocument();
Element root = document.addElement( "root" );

Element author2 = root.addElement( "author" )
  .addAttribute( "name", "Toby" )
  .addAttribute( "location", "Germany" )
  .addText( "Tobias Rademacher" );
 

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