2012-07-13 1 views
4

Je veux créer un fichier XML à partir d'une liste d'objets. Les objets ont certains attributs, donc les balises seront les noms d'attributs et les données respectives seront à l'intérieur de la balise.Comment créer un fichier XML à partir d'une liste d'objets en Java?

Ceci est par exemple:

J'ai une liste myEquipmentList, qui contient 100 objets de la classe Equipment. Maintenant, les attributs dans la classe de Equipment sont id, nom, taille, mesures, unit_of_measure etc.

Maintenant, je veux créer du XML qui sera quelque chose comme ça.

<Equipment id=1>`` 
<name>Ruler</name> 
<size>1000</size> 
<measures>length</measures> 
<unit_of_measure>meter</unit_of_measure> 
</Equipment> 

Des idées?

+1

La sérialisation et la désérialisation des objets peuvent aider – Pooya

+1

Vous souhaitez utiliser XMLEncoder/XMLDecore? – adatapost

Répondre

4

Vous pouvez créer une classe avec la liste d'objets, puis sérialiser la liste en xml et enfin désérialiser le XML en une liste.

S'il vous plaît voir ce lien - Très utile: How to convert List of Object to XML doc using XStream

+0

Merci Priya, je pense que cette option sera facile et simple .. Merci beaucoup @ – Pranav

+0

Non Problème. Veuillez accepter la réponse si vous pensez que j'ai répondu à votre question :) – Pita

+0

ok je l'ai accepté ... Pranav – Pranav

1

L'un des moyens les plus simples de procéder consiste simplement à parcourir la liste et à utiliser des chaînes pour écrire le code XML. Rien de spécial, très rapide et facile.

+0

merci pour la réponse rapide .... mais je n'ai pas obtenu votre solution clairement .. Pouvez-vous s'il vous plaît élaborer un peu ... – Pranav

4

Lisez à propos JAXB.

Vous pourriez avoir une classe comme ce qui générerait le XML que vous voulez:

@XmlRootElement 
public class Equipment { 
    private Long id; 
    private String name; 
    private Integer size; 
    ...etc... 

    @XmlAttribute 
    public Long getId() { 
    return id; 
    } 

    public void setId(Long id) { 
    this.id = id; 
    } 

    @XmlElement 
    public String getName() { 
    return name; 
    } 

    public void setName(String name) { 
    this.name = name; 
    } 

    ... etc... 

} 

Vous trouverez beaucoup d'informations sur JAXB sur Google sur la recherche sur stackoverflow.

http://jaxb.java.net/

http://jaxb.java.net/tutorial/

Ils ressemblent à quelques tutoriels simples:

http://www.mkyong.com/java/jaxb-hello-world-example/

http://www.vogella.com/articles/JAXB/article.html

+0

Salut, Pouvez-vous s'il vous plaît me donner un lien pertinent sur JAXB afin que je puisse cartographier cette réponse et je vais y arriver. Actuellement, je ne reçois rien de cette réponse .... – Pranav

+0

@ user1502359 googling JAXB abouti à rien? – Woot4Moo

+0

Merci beaucoup MattR !! Sûrement ces articles (en particulier les 2 derniers liens) sont très utiles et me donneront l'occasion d'apprendre de nouvelles choses !! – Pranav

0

J'ai tendance à utiliser une bibliothèque appelée Simple XML Serialization sur JAXB, et je dois dire que c'est assez simple, mais extrem facilement flexible.

Il existe une bonne comparaison entre Simple et JAXB here.

Questions connexes