j'aimerai créer un document xml et je ne vois pas du tout comment faire. Sur le web on trouve pleins d'articles sur comment parcourrir un document existant, mais comment fait-on pour en créer un?
Version imprimable
j'aimerai créer un document xml et je ne vois pas du tout comment faire. Sur le web on trouve pleins d'articles sur comment parcourrir un document existant, mais comment fait-on pour en créer un?
http://cynober.developpez.com/tutori...a/xml/jdom/#L2Citation:
Envoyé par the_ugly
Il n'y aurait pas un moyen avec les api de base?
Regarde du côté de la FAQ Java du site , dans la rubrique XML tu y trouveras ton bonheur.
J'aimerai utiliser DOM mais même dans la faq je ne trouve pas. C'est pas possible de créer un fichier xml sans importer de librairies?
Citation:
Envoyé par the_ugly
Code:
1
2
3
4
5
6
7
8
9
10 public static Document createDomDocument() { try { DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder(); Document doc = builder.newDocument(); return doc; } catch (ParserConfigurationException e) { } return null; }
Ce code va créer un arbre xml, ok. Mais ce que je veux en sortie, c'est un fichier xml.
Cela devrait être quelque chose commençant par write.
Citation:
Envoyé par the_ugly
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 // This method writes a DOM document to a file public static void writeXmlFile(Document doc, String filename) { try { // Prepare the DOM document for writing Source source = new DOMSource(doc); // Prepare the output file File file = new File(filename); Result result = new StreamResult(file); // Write the DOM document to the file Transformer xformer = TransformerFactory.newInstance().newTransformer(); xformer.transform(source, result); } catch (TransformerConfigurationException e) { } catch (TransformerException e) { } }
Tu es difficile et exigeant mon gars...
Si tu regardes bien la FAQ, les sources java tu trouverais ton bonheur.
Et pour la peine je vais te filer une solution de porc :
Tu instancies une classe File avec le chemin vers le fichier xml que tu veux générer.
Ensuite tu écris dans le fichier tes balises XMl comme :
Tu clos bien ton fichier, et ça y est tu as ton fichier XML.Code:
1
2
3 <root> <toto/> </root>
Mais cherche mieux tu auras une solution bien propre...
SEMPERE Benjamin, J'espère au moins qu'il te dira merci
désolé de pas avoir répondu mais mon pc redémarre sans arrêt. je vais teste la solution de SEMPERE en espérant que cela n'utilise que dom ou xml.parsers.
Merci
(voilà t'es content eliott)
Et pour la faq, non il n'y a pas ce que je cherche.
Ca marche pas, les 3/4 des classes utilisées sont introuvables.
Comment faisaient les gens avant que les xerces ou autres jdom apparaissent? Ils ne faisaient que lire du xml et le créaient "à la main" ou quoi?
La solution de elitost est une solution que je ne trouve pas "de porc", mais une solution :
tu ajoutes les balises que tu désires en mettant tes données entre celles-ci, tu n'oublis pas d'ajouter l'entête, tu nommes ton fichier "monFichier.xml" et tu as un beau fichier xml standard.
entête :
Code:
1
2 <?xml version="1.0" encoding="ISO-8859-1"?>
En fait, on l'écrit comme n'importe quel fichier.
Je pensais qu'il existait des traitement semblables à la lecture et qu'à la fin on aurait pu tout mettre dans un fichier ou sur la sortie standard. Tant pis.
merci qd même
As tu au moins importé les classes qu'il faut (javax.xml.transform) pour ecrire l'instance de document dans le fichier?? Quelle est ta version de jdk??Citation:
Envoyé par the_ugly
j'ai la jdk 1.5 et voici mes imports :Citation:
Envoyé par SEMPERE Benjamin
import java.io.*;
import javax.xml.transform.*;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
Peux tu nous indiquer les erreurs de compilation que tu as??Citation:
Envoyé par the_ugly
rectification : ça marche, merci.
Voici les imports et le code :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 import java.io.*; import javax.xml.transform.*; import javax.xml.transform.dom.*; import javax.xml.transform.stream.*; import javax.xml.parsers.*; import org.w3c.dom.*; public class MonParser { public static void main(String args[]) { // This method writes a DOM document to a file try { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.newDocument(); // Prepare the DOM document for writing Source source = new DOMSource(doc); // Prepare the output file File file = new File("resultat.xml"); Result result = new StreamResult(file); // Write the DOM document to the file Transformer xformer = TransformerFactory.newInstance().newTransformer(); xformer.transform(source, result); } catch (Exception e) { } } }
Essaye ceci...
http://xstream.codehaus.org/
Je me posais la même question que toi y'a un mois... J'avais du mal, tout à fait débutant dans la compréhension de XML...
Et je trouve que XStream est l'API la plus simple pour un débutant pour se lancer dans du XML en JAVA...
C'est vrai que ça à l'air très simple :wink:Citation:
Envoyé par calogerogigante
A confirmer...