Parser et modifier un fichier xml (java)
Résolu/Fermé
<yassou>
Messages postés
589
Date d'inscription
lundi 17 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2015
-
30 janv. 2008 à 12:11
pegasus620 Messages postés 7 Date d'inscription lundi 20 août 2012 Statut Membre Dernière intervention 9 septembre 2012 - 20 août 2012 à 23:19
pegasus620 Messages postés 7 Date d'inscription lundi 20 août 2012 Statut Membre Dernière intervention 9 septembre 2012 - 20 août 2012 à 23:19
A voir également:
- Comment modifier un fichier xml
- Fichier rar - Guide
- Fichier host - Guide
- Comment modifier un pdf - Guide
- Fichier iso - Guide
- Comment réduire la taille d'un fichier - Guide
9 réponses
<yassou>
Messages postés
589
Date d'inscription
lundi 17 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2015
74
29 juil. 2008 à 19:30
29 juil. 2008 à 19:30
résolu en utilisant JDOM, parce que SAX ne permet que la lecture du fichier xml et c'est JDOM qui permet la lecture et la modification du fichier, il y a aussi DOM qui permet la modification mais je n'ai pas su comment l'utiliser
JDOM est très très facile à utiliser, le fichier est vu comme un arbre et on accède aux noeuds avec des instructions très simples comme nextchild(), ... etc, pour chaque noeud on peut récupérer ses fils dans une liste, les clonner dans un nouveau noeud, modifier les attributs, ou les lire tout simplement
en bref, la piste à suivre est "la manipulation des fichiers xml avec JDOM"
j'éspère avoir pu vous aider, n'hésitez pas à poser plus de questions si je n'ai pas été claire
bon courage
JDOM est très très facile à utiliser, le fichier est vu comme un arbre et on accède aux noeuds avec des instructions très simples comme nextchild(), ... etc, pour chaque noeud on peut récupérer ses fils dans une liste, les clonner dans un nouveau noeud, modifier les attributs, ou les lire tout simplement
en bref, la piste à suivre est "la manipulation des fichiers xml avec JDOM"
j'éspère avoir pu vous aider, n'hésitez pas à poser plus de questions si je n'ai pas été claire
bon courage
wawaali
Messages postés
2
Date d'inscription
mercredi 25 mars 2009
Statut
Membre
Dernière intervention
25 mars 2009
3
25 mars 2009 à 15:21
25 mars 2009 à 15:21
jai un fichier XML, je veux le lire et l'afficher avec java
voici le code XML
<?xml version="1.0" encoding="UTF-8"?>
<Config>
<Application>
<name>statdata</name>
<authType>0</authType>
<conf>
<server>statdata</server>
<url>http://statdata/servlet/conn.ACCES</url>
</conf>
<conf>
<server>stat1</server>
<url>http://stat1/servlet/conn.ACCES</url>
</conf>
<parameter>
<name>F_USERNAME</name>
<value>svision</value>
</parameter>
<parameter>
<name>F_PASSWORD</name>
<value>svision</value>
</parameter>
</Application>
<Application>
<name>transbscs</name>
<authType>0</authType>
<conf>
<server>...</server>
<url>http://</url>
</conf>
<conf>
<server>stat2</server>
<url>http://stat2/servlet/conn.ACCES</url>
</conf>
<parameter>
<name>F_passwd</name>
<value>svision</value>
</parameter>
</application>
</config>
jai commencer avec ca :
public static void main (String argv []){
try {
File file = new File("c:\\NV.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(file);
doc.getDocumentElement ().normalize ();
System.out.println ("Root element of the doc is " +
doc.getDocumentElement().getNodeName());
NodeList listOfapplication = doc.getElementsByTagName("application");
int totalapplication = listOfapplication.getLength();
System.out.println("Total no of application: " + totalapplication);
for(int s=0; s<listOfapplication.getLength() ; s++){
Node firstapplicationNode = listOfapplication.item(s);
if(firstapplicationNode.getNodeType() == Node.ELEMENT_NODE){
Element firstapplicationElement = (Element)firstapplicationNode;
NodeList firstnameList = firstapplicationElement.getElementsByTagName("name");
Element firstnameElement = (Element)firstnameList.item(0);
NodeList textFNList = firstnameElement.getChildNodes();
System.out.println("name : " +
((Node)textFNList.item(0)).getNodeValue().trim());
NodeList listOfconf= firstapplicationElement.getElementsByTagName("conf");
int totalconf = listOfconf.getLength();
System.out.println("Total no of conf: " + totalconf);
for(int i=0; i<listOfconf.getLength() ; i++){
Node firstconfNode = listOfconf.item(i);
if(firstconfNode.getNodeType() == Node.ELEMENT_NODE){
Element firstconfElement = (Element)firstconfNode;
NodeList firstserverList = firstconfElement.getElementsByTagName("server");
Element firstserverElement = (Element)firstserverList.item(0);
NodeList textNList = firstserverElement.getChildNodes();
System.out.println("server : " +
((Node)textNList.item(0)).getNodeValue().trim());
NodeList firsturlList = firstserverElement.getElementsByTagName("url");
Element firsturlElement = (Element)firsturlList.item(0);
NodeList textURLList = firsturlElement.getChildNodes();
System.out.println("url : " +
((Node)textURLList.item(0)).getNodeValue().trim());
j'aimerais bien que vous m'aidez le plutot possible et merci d'avance
voici le code XML
<?xml version="1.0" encoding="UTF-8"?>
<Config>
<Application>
<name>statdata</name>
<authType>0</authType>
<conf>
<server>statdata</server>
<url>http://statdata/servlet/conn.ACCES</url>
</conf>
<conf>
<server>stat1</server>
<url>http://stat1/servlet/conn.ACCES</url>
</conf>
<parameter>
<name>F_USERNAME</name>
<value>svision</value>
</parameter>
<parameter>
<name>F_PASSWORD</name>
<value>svision</value>
</parameter>
</Application>
<Application>
<name>transbscs</name>
<authType>0</authType>
<conf>
<server>...</server>
<url>http://</url>
</conf>
<conf>
<server>stat2</server>
<url>http://stat2/servlet/conn.ACCES</url>
</conf>
<parameter>
<name>F_passwd</name>
<value>svision</value>
</parameter>
</application>
</config>
jai commencer avec ca :
public static void main (String argv []){
try {
File file = new File("c:\\NV.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(file);
doc.getDocumentElement ().normalize ();
System.out.println ("Root element of the doc is " +
doc.getDocumentElement().getNodeName());
NodeList listOfapplication = doc.getElementsByTagName("application");
int totalapplication = listOfapplication.getLength();
System.out.println("Total no of application: " + totalapplication);
for(int s=0; s<listOfapplication.getLength() ; s++){
Node firstapplicationNode = listOfapplication.item(s);
if(firstapplicationNode.getNodeType() == Node.ELEMENT_NODE){
Element firstapplicationElement = (Element)firstapplicationNode;
NodeList firstnameList = firstapplicationElement.getElementsByTagName("name");
Element firstnameElement = (Element)firstnameList.item(0);
NodeList textFNList = firstnameElement.getChildNodes();
System.out.println("name : " +
((Node)textFNList.item(0)).getNodeValue().trim());
NodeList listOfconf= firstapplicationElement.getElementsByTagName("conf");
int totalconf = listOfconf.getLength();
System.out.println("Total no of conf: " + totalconf);
for(int i=0; i<listOfconf.getLength() ; i++){
Node firstconfNode = listOfconf.item(i);
if(firstconfNode.getNodeType() == Node.ELEMENT_NODE){
Element firstconfElement = (Element)firstconfNode;
NodeList firstserverList = firstconfElement.getElementsByTagName("server");
Element firstserverElement = (Element)firstserverList.item(0);
NodeList textNList = firstserverElement.getChildNodes();
System.out.println("server : " +
((Node)textNList.item(0)).getNodeValue().trim());
NodeList firsturlList = firstserverElement.getElementsByTagName("url");
Element firsturlElement = (Element)firsturlList.item(0);
NodeList textURLList = firsturlElement.getChildNodes();
System.out.println("url : " +
((Node)textURLList.item(0)).getNodeValue().trim());
j'aimerais bien que vous m'aidez le plutot possible et merci d'avance
wawaali
Messages postés
2
Date d'inscription
mercredi 25 mars 2009
Statut
Membre
Dernière intervention
25 mars 2009
3
25 mars 2009 à 15:21
25 mars 2009 à 15:21
jai un fichier XML, je veux le lire et l'afficher avec java
voici le code XML
<?xml version="1.0" encoding="UTF-8"?>
<Config>
<Application>
<name>statdata</name>
<authType>0</authType>
<conf>
<server>statdata</server>
<url>http://statdata/servlet/conn.ACCES</url>
</conf>
<conf>
<server>stat1</server>
<url>http://stat1/servlet/conn.ACCES</url>
</conf>
<parameter>
<name>F_USERNAME</name>
<value>svision</value>
</parameter>
<parameter>
<name>F_PASSWORD</name>
<value>svision</value>
</parameter>
</Application>
<Application>
<name>transbscs</name>
<authType>0</authType>
<conf>
<server>...</server>
<url>http://</url>
</conf>
<conf>
<server>stat2</server>
<url>http://stat2/servlet/conn.ACCES</url>
</conf>
<parameter>
<name>F_passwd</name>
<value>svision</value>
</parameter>
</application>
</config>
jai commencer avec ca :
public static void main (String argv []){
try {
File file = new File("c:\\NV.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(file);
doc.getDocumentElement ().normalize ();
System.out.println ("Root element of the doc is " +
doc.getDocumentElement().getNodeName());
NodeList listOfapplication = doc.getElementsByTagName("application");
int totalapplication = listOfapplication.getLength();
System.out.println("Total no of application: " + totalapplication);
for(int s=0; s<listOfapplication.getLength() ; s++){
Node firstapplicationNode = listOfapplication.item(s);
if(firstapplicationNode.getNodeType() == Node.ELEMENT_NODE){
Element firstapplicationElement = (Element)firstapplicationNode;
NodeList firstnameList = firstapplicationElement.getElementsByTagName("name");
Element firstnameElement = (Element)firstnameList.item(0);
NodeList textFNList = firstnameElement.getChildNodes();
System.out.println("name : " +
((Node)textFNList.item(0)).getNodeValue().trim());
NodeList listOfconf= firstapplicationElement.getElementsByTagName("conf");
int totalconf = listOfconf.getLength();
System.out.println("Total no of conf: " + totalconf);
for(int i=0; i<listOfconf.getLength() ; i++){
Node firstconfNode = listOfconf.item(i);
if(firstconfNode.getNodeType() == Node.ELEMENT_NODE){
Element firstconfElement = (Element)firstconfNode;
NodeList firstserverList = firstconfElement.getElementsByTagName("server");
Element firstserverElement = (Element)firstserverList.item(0);
NodeList textNList = firstserverElement.getChildNodes();
System.out.println("server : " +
((Node)textNList.item(0)).getNodeValue().trim());
NodeList firsturlList = firstserverElement.getElementsByTagName("url");
Element firsturlElement = (Element)firsturlList.item(0);
NodeList textURLList = firsturlElement.getChildNodes();
System.out.println("url : " +
((Node)textURLList.item(0)).getNodeValue().trim());
j'aimerais bien que vous m'aidez le plutot possible et merci d'avance
voici le code XML
<?xml version="1.0" encoding="UTF-8"?>
<Config>
<Application>
<name>statdata</name>
<authType>0</authType>
<conf>
<server>statdata</server>
<url>http://statdata/servlet/conn.ACCES</url>
</conf>
<conf>
<server>stat1</server>
<url>http://stat1/servlet/conn.ACCES</url>
</conf>
<parameter>
<name>F_USERNAME</name>
<value>svision</value>
</parameter>
<parameter>
<name>F_PASSWORD</name>
<value>svision</value>
</parameter>
</Application>
<Application>
<name>transbscs</name>
<authType>0</authType>
<conf>
<server>...</server>
<url>http://</url>
</conf>
<conf>
<server>stat2</server>
<url>http://stat2/servlet/conn.ACCES</url>
</conf>
<parameter>
<name>F_passwd</name>
<value>svision</value>
</parameter>
</application>
</config>
jai commencer avec ca :
public static void main (String argv []){
try {
File file = new File("c:\\NV.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(file);
doc.getDocumentElement ().normalize ();
System.out.println ("Root element of the doc is " +
doc.getDocumentElement().getNodeName());
NodeList listOfapplication = doc.getElementsByTagName("application");
int totalapplication = listOfapplication.getLength();
System.out.println("Total no of application: " + totalapplication);
for(int s=0; s<listOfapplication.getLength() ; s++){
Node firstapplicationNode = listOfapplication.item(s);
if(firstapplicationNode.getNodeType() == Node.ELEMENT_NODE){
Element firstapplicationElement = (Element)firstapplicationNode;
NodeList firstnameList = firstapplicationElement.getElementsByTagName("name");
Element firstnameElement = (Element)firstnameList.item(0);
NodeList textFNList = firstnameElement.getChildNodes();
System.out.println("name : " +
((Node)textFNList.item(0)).getNodeValue().trim());
NodeList listOfconf= firstapplicationElement.getElementsByTagName("conf");
int totalconf = listOfconf.getLength();
System.out.println("Total no of conf: " + totalconf);
for(int i=0; i<listOfconf.getLength() ; i++){
Node firstconfNode = listOfconf.item(i);
if(firstconfNode.getNodeType() == Node.ELEMENT_NODE){
Element firstconfElement = (Element)firstconfNode;
NodeList firstserverList = firstconfElement.getElementsByTagName("server");
Element firstserverElement = (Element)firstserverList.item(0);
NodeList textNList = firstserverElement.getChildNodes();
System.out.println("server : " +
((Node)textNList.item(0)).getNodeValue().trim());
NodeList firsturlList = firstserverElement.getElementsByTagName("url");
Element firsturlElement = (Element)firsturlList.item(0);
NodeList textURLList = firsturlElement.getChildNodes();
System.out.println("url : " +
((Node)textURLList.item(0)).getNodeValue().trim());
j'aimerais bien que vous m'aidez le plutot possible et merci d'avance
<yassou>
Messages postés
589
Date d'inscription
lundi 17 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2015
74
28 mars 2009 à 21:36
28 mars 2009 à 21:36
Bonsoir,
j'ai vu ton code, j'avoue que je ne l'ai pas testé, mais il parait ok, je comprends que tu as utilisé "JDOM" et non "SAX", c'est juste, en quoi consiste ton problème précisément?! qu'est ce qui ne marche pas?
j'ai vu ton code, j'avoue que je ne l'ai pas testé, mais il parait ok, je comprends que tu as utilisé "JDOM" et non "SAX", c'est juste, en quoi consiste ton problème précisément?! qu'est ce qui ne marche pas?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai un projet dont je dois parser le fichier xml(UAProfile).
Si qlq1 a un code qui permet cela et qui peut m'aider.Merci d'avance.
Si qlq1 a un code qui permet cela et qui peut m'aider.Merci d'avance.
<yassou>
Messages postés
589
Date d'inscription
lundi 17 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2015
74
22 mars 2008 à 10:39
22 mars 2008 à 10:39
problème résolu
nadia hareb
Messages postés
110
Date d'inscription
lundi 18 février 2008
Statut
Membre
Dernière intervention
18 août 2010
18 déc. 2008 à 22:48
18 déc. 2008 à 22:48
bonsoir yasmine,
je veux bien que tu m"aide a bien maitriser le jdom,c'est koi en fait, peux tu me donner un cour ou des instructions de utiliser
en fait j'ai un projet complet des fichier en java et un en xml ; mais je ne sais pas comment faire pour le compiler
pplease help
je veux bien que tu m"aide a bien maitriser le jdom,c'est koi en fait, peux tu me donner un cour ou des instructions de utiliser
en fait j'ai un projet complet des fichier en java et un en xml ; mais je ne sais pas comment faire pour le compiler
pplease help
<yassou>
Messages postés
589
Date d'inscription
lundi 17 décembre 2007
Statut
Membre
Dernière intervention
6 juin 2015
74
19 déc. 2008 à 21:02
19 déc. 2008 à 21:02
pas de panique nadia
je veux bien t'aider, dis moi seulement en quoi consiste ton travail
"en fait j'ai un projet complet des fichier en java et un en xml ; mais je ne sais pas comment faire pour le compiler"
j'ai pas compris ce que tu veux dire par là ?
je veux bien t'aider, dis moi seulement en quoi consiste ton travail
"en fait j'ai un projet complet des fichier en java et un en xml ; mais je ne sais pas comment faire pour le compiler"
j'ai pas compris ce que tu veux dire par là ?
pegasus620
Messages postés
7
Date d'inscription
lundi 20 août 2012
Statut
Membre
Dernière intervention
9 septembre 2012
20 août 2012 à 23:19
20 août 2012 à 23:19
Vous pouvez utiliser aussi le parseur DOM surtout pour un fichier de petit taille
c'est un tuto qui explique comment modifier le contenu d'un fichier xml a l'aide du parseur DOM :
http://sourcetutorial.com/comment-modifier-fichier-xml-en-java-parseur-dom/
c'est un tuto qui explique comment modifier le contenu d'un fichier xml a l'aide du parseur DOM :
http://sourcetutorial.com/comment-modifier-fichier-xml-en-java-parseur-dom/