2011-11-01 3 views
2

J'ai été utilisé JDOM pour effectuer l'entrée de données xml & mise à jour dans un fichier XML, mais maintenant j'essaie d'utiliser JAXB au lieu de JDOM, mais obtenir quelques difficultés.JAXB Vs JDOM: est-il possible de mettre à jour le fichier XML en utilisant JAXB

comme je sais marshalling & unmarshalling dans jaxb mais quand il s'agit d'entrer une nouvelle donnée dans un xml à l'emplacement spécifié (node), je trouve des difficultés. par exemple. for new entry Japan where id = Asia

<file> 
    <parent> 
     <node id="Asia"> 
      <name>India</name> 
      <name>China</name> 
     </node> 
     <node id="Europe"> 
      <name>UK</name> 
     </node> 
    </parent> 
</file> 

Y at-il quelqu'un qui a une idée à ce sujet.

Répondre

3

Si je ne me trompe pas JAXB et JDOM et des choses complètement différentes. JAXB sérialisera les objets Java dans un format XML et vice versa. JDOM lit simplement dans le fichier XML et le stocke dans un arbre DOM qui peut ensuite être utilisé pour modifier le xml lui-même. Utiliser JAXB de cette manière, c'est comme essayer d'ajouter une nouvelle variable à une classe au moment de l'exécution. Cela ne peut pas être fait. (au moins à ma connaissance).

+0

oh, je ne ai pas beaucoup d'idée, mais je suis en train d'essayer unmarshal (lire le fichier xml et le convertir en objet java) & ajouter le nouvel objet à l'exécution et marshall au fichier xml, mais je pense que vous avez raison c'est pourquoi je ne suis pas capable de le faire. Merci. – user1010399

+4

@ExtremeCoder - À certains égards, JAXB et JDOM sont similaires car ils lisent tous deux le XML dans une représentation en mémoire. Vous pouvez considérer le modèle JAXB comme un DOM typé et le modèle JDOM comme un DOM non typé. Puisque JDOM n'est pas typé, vous pouvez facilement ajouter n'importe quel nœud, mais JAXB n'a aucun problème à ajouter de nouvelles données correspondant aux champs/propriétés et types mappés. –

+0

@BlaiseDoughan: je voulais savoir, est-il efficace d'utiliser JAXB pour la nouvelle entrée de données dans un fichier xml ou devrais-je utiliser JDOM? Je sais que les données peuvent être ajoutées avec Jaxb & JDOm mais lequel est le meilleur choix? – user1010399