Bonjour
est ce qu'on peut créer un fichier xml en java ??
j'utilise l'api org.w3c.dom, j'arrive à lire des xml avec le DocumentBuilderFactory, mais pour créer un fichier xml et ecire dedant j'arrive pas ...
quel qu'un à une idée ??
merci
Bonjour
est ce qu'on peut créer un fichier xml en java ??
j'utilise l'api org.w3c.dom, j'arrive à lire des xml avec le DocumentBuilderFactory, mais pour créer un fichier xml et ecire dedant j'arrive pas ...
quel qu'un à une idée ??
merci
J'utilise jdom pour ça (lecture et écriture d'ailleurs)
Je trouve ça hyper pratique pour les fichiers XML de taille raisonnable.
http://www.jdom.org/
Maintenant pour les énormes fichiers mieux vaut utiliser SAX. C'est plus de l'événementiel. Mais pour la lecture et l'écriture ça devient vite plus compliqué à coder. C'est quand même beaucoup plus efficace (pas de mémoire qui part en sucette)
Bonne lecture...
Attention l'api SAX ne permet que de lire un document, pas de le modifier ni de le créer. La remarque est cepandant très vrai pour la lecture.Envoyé par Jense
Sinon Si ton document est très simple tu peux utiliser java.io.* !
j'ai trouvé un exemple qui utilise XDocument mais j'arrive pas à trouvé l'api correspondant cette class, j'été sur le site de sun mais rien
je cherche tjr ....
merci
un petit coup de pouce
Creer un nouveau document DOM
Ajouter une 'node'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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; }
http://javaalmanac.com/egs/org.w3c.dom/AddNode.html
et je pense que tu veux ensuite le mettre dans un fichier (JAXP)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
36 This example demonstrates how to insert a node into a DOM relative to another node. In particular, a text node is inserted around an element node. // Create a new DOM document; this method is implemented in // e511 Creating an Empty DOM Document Document doc = createDomDocument(); // Insert the root element node Element element = doc.createElement("root"); doc.appendChild(element); // Insert a comment in front of the element node Comment comment = doc.createComment("a comment"); doc.insertBefore(comment, element); // Add a text node to the element element.appendChild(doc.createTextNode("D")); // Add a text node to the beginning of the element element.insertBefore(doc.createTextNode("A"), element.getFirstChild()); // Add a text node before the last child of the element element.insertBefore(doc.createTextNode("C"), element.getLastChild()); // Add another element after the first child of the root element Element element2 = doc.createElement("item"); element.insertBefore(element2, element.getFirstChild().getNextSibling()); // Add a text node in front of the new item element element2.getParentNode().insertBefore(doc.createTextNode("B"), element2); This is the resulting XML: <?xml version="1.0" encoding="UTF-8"?> <!--a comment--><root>AB<item/>CD</root>
voila !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 // Write it out again TransformerFactory xformFactory = TransformerFactory.newInstance(); Transformer idTransform = xformFactory.newTransformer(); Source input = new DOMSource(document); Result output = new StreamResult(new File("monfichier.xml")); idTransform.transform(input, output);
c'est pas tout a fait ça, au fait je voudrais ecrir dans un fichier xml existant,
je l'ouvre je verifi des balises avec un autre fichier, et j'ajoute des balises dans mon premier fichier, sorte de comparaison entre deux fichier avec possiblité de modifier l'un deux ...
quoi que ton exemple mais plais aussi, je le garde
merci
Il faut faire attention: en XML on fait un différence entre fichier et document XML. Ton but est de modifier un document XML provenant d'un fichier.Envoyé par miloud
En ecrivant ceci tu as la soliution:
1/tu parses ton fichier avec un modele DOM
2/tu modifies le document en parcourant le noeud et et en créant de nouvelle.
3/tu serialises ton fichier avec JAXP
Pour ton pb, au lieu de partir d'un document vierge tu le lis avec DOM
oui c'est ce que j'ai fait ...
merciii oups j'ai oublié de mettre resolu desoléééééééééééé
au fait, tu connais personne qui soit administrateur sql serveur ??
on cherche quel qu'un
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager