Bonjour Je débute dans le java. Je voudrais savoir comment ajouter un nœud à un

cs_achroufa Messages postés 8 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 25 août 2010 - 19 août 2010 à 14:03
cs_princessemira Messages postés 14 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 9 novembre 2011 - 20 avril 2011 à 18:53
oici mon fichier actuel :
<?xml version="1.0" standalone="yes"?>


<FirstName>Georges</FirstName>
<LastName>Dupond</LastName>


Et ce que je souhaite en ajoutant les infos :
<?xml version="1.0" standalone="yes"?>


<FirstName>Georges</FirstName>
<LastName>Dupond</LastName>


<FirstName>Marcel</FirstName>
<LastName>Dupuis</LastName>
A voir également:

21 réponses

cs_achroufa Messages postés 8 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 25 août 2010
19 août 2010 à 14:04
Bonjour
Je débute dans le java. Je voudrais savoir comment ajouter un nœud à un fichier xml existant en utilisant DOM. Ceci est dans le cadre de mes études.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 août 2010 à 14:38
Salut,

Et qu'est-ce que tu n'arrive pas à faire ? Tu utilises quelle bibliothèque ? Quel est le code que tu as fais jusqu'à maintenant ?
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_achroufa Messages postés 8 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 25 août 2010
19 août 2010 à 14:49
@DARKSIDIOUS
merci pour ton intérêt,
mai je ne demande pas de code ,je cherche d'information a propos la bibliothèque que je peu utilisé.
j'ai pu savoir le chemin que je peu le suivre :(((( S.V.P aider moi
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 août 2010 à 15:14
Salut,

A ce moment là je te conseille la bibliothèque JDom qui est très simple à utiliser. Tu pourras trouver des tutoriaux sur le net.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_achroufa Messages postés 8 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 25 août 2010
19 août 2010 à 15:18
oui merci je l'est utilisé et j'ai fai ce code mais il existe bqs d'erreur :(
merci d'avance
0
cs_achroufa Messages postés 8 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 25 août 2010
19 août 2010 à 15:19
voila le code utilisé
public static void create() throws JDOMException, IOException {
org.jdom.Document document = null;
try {
SAXBuilder sxb = new SAXBuilder();
document = sxb.build("D:/app/workspace/FirstTestJava/src/emplo.xml");
Element racine = document.getRootElement();
Element personne = new Element("personne");
racine.addContent(personne);
try {
XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
sortie.output(document, new FileOutputStream("D:/app/workspace/FirstTestJava/src/emplo.xml"));
} catch (java.io.IOException e) {}
}catch (Exception e) {}
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 août 2010 à 15:28
Salut,

il existe bqs d'erreur


Si tu nous dis pas quelles sont les erreurs que tu as, on risque pas pouvoir y faire grand chose.

Il faut nous donner le maximum de détails pour qu'on puisse t'aider, ce n'est pas à nous de te poser des questions pour comprendre ton problème.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_achroufa Messages postés 8 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 25 août 2010
19 août 2010 à 15:36
merci pour ta patience
voila les erreur :
Erreur lors de la construction du fichier JDOM Error on line -1: Premature end of file.
org.jdom.input.JDOMParseException: Error on line -1: Premature end of file.
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:533)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:905)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:884)
at Essai.getEmployers(Essai.java:42)
at Essai.main(Essai.java:210)
Caused by: org.xml.sax.SAXParseException: Premature end of file.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:518)
... 4 more
Caused by: org.xml.sax.SAXParseException: Premature end of file.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:518)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:905)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:884)
at Essai.getEmployers(Essai.java:42)
at Essai.main(Essai.java:210)
Caused by: org.xml.sax.SAXParseException: Premature end of file.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:518)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:905)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:884)
at Essai.getEmployers(Essai.java:42)
at Essai.main(Essai.java:210)
Exception in thread "main" java.lang.NullPointerException
at Essai.getEmployers(Essai.java:55)
at Essai.main(Essai.java:210)
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 août 2010 à 15:42
Salut,

Cette erreur veut dire que ton fichier est mal formé, mais à première vue, il me semble correct.

Essaye d'enlever les éléments de ton fichier xml un par un pour voir lequel est mal parsé pour voir quelle est l'erreur.

Peut-être que ca vient de l'attribut standalone du header xml.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
cs_achroufa Messages postés 8 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 25 août 2010
19 août 2010 à 15:49
mon fichier xml est bien structurer voila le fichiier :


1
<nom>achraf</nom>
abdennadher


<job>programmeur</job>
<salaire>3000</salaire>




mai le problème est survenue lorsque j'ai faisait le code d'ajout d'une autre noeud personne :(
Merci d'avance
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
19 août 2010 à 15:59
Salut,

le problème est survenue lorsque j'ai faisait le code d'ajout d'une autre noeud


Donc tu as réussi à ajouter un noeud à ton fichier au final ?

Soit précis, on vient de perdre une page de message pour rien : tu demandais quelle bibliothèque utiliser alors qu'au final, tu utilise JDom, et tu as même réussi à ajouter un noeud... C'est quoi la prochaine étape ?

Je veux bien t'aider, mais si tu ne me dit pas tout, ca sert à rien.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
0
johnjjj Messages postés 120 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 24 septembre 2012
21 août 2010 à 17:14
bonjour
il existe plusieurs tutoriel de Jdom sur internet
je te conseil de lire et de préciser votre question

si vous voulez crer un ficher xml
<?xml version= "1.0" encoding="UTF-8"?>

  
     achra 
    <nom>achraf</nom>
    abdennadher


    <job>programmeur</job>
    <salaire>3000</salaire>
  






ce code vous aide


import java.io.*;
import org.jdom.*;
import org.jdom.output.*; 
public class JDOM1
{
   
   static Element racine  = new Element("employer");

   // crée un nouveau Document JDOM
   static org.jdom.Document document = new Document(racine);

   public static void main(String[] args)
   {
      
      Element personne = new Element("personne");
      racine.addContent(personne);
      Attribute classe = new Attribute("id","personne1"); 
      personne.setAttribute(classe);
      Element idem = new Element("idem");
      idem.setText("achra");
      personne.addContent(idem);
      Element nom = new Element("nom");
      nom.setText("achraf");
      personne.addContent(nom);
      Element prenom = new Element("prenom");
      prenom.setText("abdennadher");
      personne.addContent(prenom);
      Element job = new Element("job");
      job.setText("programmeur");
      personne.addContent(job);
      Element salaire = new Element("salaire");
      salaire.setText("3000");
      personne.addContent(salaire);
      affiche();
      enregistre("1.xml");
   }

static void affiche()
{ 
   try
   {
      XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
      sortie.output(document, System.out);
   }
   catch (java.io.IOException e){}
}

static void enregistre(String fichier)
{ 
   try
   {
      XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
      sortie.output(document, new FileOutputStream(fichier));
   }
   catch (java.io.IOException e){}
}}




si mieux de poser des question cible
cordialement
0
cs_princessemira Messages postés 14 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 9 novembre 2011
7 mars 2011 à 11:28
Bonjour à tous,
J'ai un petit souci de manipulation de l'xml en java, en fait, j'utilise JDOM, je parviens à ajouter des noeuds dans mon fichier xml, mais je voulais ajouter des noeuds à mon fichier déjà existant, alors je ne parviens pas correctement à le faire. Je procède comme suit:

Element mail = new Element("mail");
racine.addContent(mail);
Element from = new Element("from");
from.setText("moi");
mail.addContent(from);
Element sub = new Element("subject");
sub.setText("new");
mail.addContent(sub);
Element corp = new Element("body");
corp.setText("%%%%%%%%%%%%%%%%%%%%%%%%%%");
mail.addContent(corp);

XMLOutputter sortie = new XMLOutputter(Format.getPrettyFormat());
sortie.output(document, new FileOutputStream("fich.xml", true));//true pour l'ajout

A ce stade là, voilà le résultat:

<?xml version="1.0" encoding="UTF-8"?>
<courriels>
<mail>
<from>moi</from>
new
***********************
</mail>
</courriels>
// c'est le contenu de mon fichier initial
//par la suite est ajouté lorsque j'assaye d'ajouter le nouvel noeud
<?xml version ="1.0" encoding="UTF-8"?>
<courriels>
<mail>
<from>moi</from>
new
%%%%%%%%%%%%%%%%%%%%%%%%%%
</mail>
</courriels>

Alors que ce que j'aime faire c'est d'ajouter
<mail>
<from>moi</from>
new
%%%%%%%%%%%%%%%%%%%%%%%%%%
</mail>
à mon fichier initial. Comment devrais-je procéder?

Merci d'avance pour vous.

La Princesse 
0
johnjjj Messages postés 120 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 24 septembre 2012
7 mars 2011 à 19:49
bonjour
j'ai pas bien compris ce que vous voulez

est ce que vous pouvez écrire la structure du fichier xml que vous voulez

pour ce je puisse vous aide

cordialement
0
cs_princessemira Messages postés 14 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 9 novembre 2011
7 mars 2011 à 20:09
Merci beaucoup pour votre réponse. Voici la structure de mon fichier xml:

<?xml version= "1.0" encoding="UTF-8"?>
<courriels>
<mail>
<from>moi</from>
new
//////////////////////////////////
</mail>
<mail>
<from>moi</from>
new
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
</mail>
</courriels>

Au fur et à mesure, je souhaite ajouter de nouveaux mails à mon fichier, donc un nouveau noeud <mail>, mais je ne parviens pas à le faire correctement, car soit j'écrase l'ancien contenu, soit j'obtiens le fichier suivant après l'ajout:

<?xml version ="1.0" encoding= "UTF-8"?>
<courriels>
<mail>
<from>moi</from>
new
//////////////////////////////////
</mail>
<mail>
<from>moi</from>
new
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
</mail>
</courriels>

<?xml version ="1.0" encoding= "UTF-8"?>
<courriels>
<mail>
<from>moi</from>
new
%%%%%%%%%%%%%%%%%%%%%%%
</mail>
<mail>
<from>moi</from>
new
***********************************
</mail>
</courriels>

Alors que ce que je souhaite c'est

<?xml version ="1.0" encoding="UTF-8"?>
<courriels>
<mail>
<from>moi</from>
new
//////////////////////////////////
</mail>
<mail>
<from>moi</from>
new
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
</mail>
<mail>
<from>moi</from>
new
%%%%%%%%%%%%%%%%%%%%%%%
</mail>
<mail>
<from>moi</from>
new
***********************************
</mail>
</courriels>

Merci tout de même pour la réponse Princesse 
0
johnjjj Messages postés 120 Date d'inscription dimanche 4 avril 2010 Statut Membre Dernière intervention 24 septembre 2012
7 mars 2011 à 23:13
bonjour
vou trouvez dans ce lien comment manipuler ficher xml http://cynober.developpez.com/tutoriel/java/xml/jdom/


cordialement
0
cs_princessemira Messages postés 14 Date d'inscription mercredi 15 avril 2009 Statut Membre Dernière intervention 9 novembre 2011
7 mars 2011 à 23:18
Merci beaucoup :)


Princesse 
0
cs_mery1988 Messages postés 12 Date d'inscription vendredi 5 février 2010 Statut Membre Dernière intervention 21 avril 2011
20 avril 2011 à 18:41
Bonjoura tous
SVP Princesse est ce que vous avez trouvé une solution a votre pb ?? si oui vous me ferez un grand plaisir si vous m'indiquez comment rajouter une balise xml à un fichier xml déja existant,en précisant la balise à partir de laquelle on va rajouter la nouvelle balise, si vous pouvez m'envoyer votre code ça va bcp m'aidé car je suis vraiment bloquée.
Merci,Cordialement.
0
cs_mery1988 Messages postés 12 Date d'inscription vendredi 5 février 2010 Statut Membre Dernière intervention 21 avril 2011
20 avril 2011 à 18:47
Salut, merci pour votre lien "johnjjj" ça ma aidé :)
0
cs_mery1988 Messages postés 12 Date d'inscription vendredi 5 février 2010 Statut Membre Dernière intervention 21 avril 2011
20 avril 2011 à 18:50
Pour autre chose mais pas pour le pb que j'ai posté :(
0
Rejoignez-nous