Ajouter des éléments à un document XML
	
	
		Bonjour
Je cherche à réaliser une fonction qui recoit quelques parmètres et qui les ajoute (les écris) à la fin d'un document XML.
J'ai déjà pas mal cherché sur internet, regardé différentes API... mais je suis débutant et je ne comprend absolument pas comment y arriver... J'ai déjà du mal à faire la fonction juste pour qu'elle crée une fois le fichier XML puis qu'elle l'écrase à chaque fois mais alors pour rajouter les éléments à la fin cela n'ira meme plus du tout (si ça marchait lol...).
Si quelqu'un avait un petit exemple compréhensible de ce genre de chose... je lui en serai très très reconnaissant!
EDIT : je poste mon code qui me permet de créer le fichier XML (il marche :D ) ce que je voudrais c'est le modifier pour ne plus écraser le fichier mais bien seulement ajouter l'enregistrement passé en parametre....
	Code:
	
| 12
 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
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 
 | package mms.tools;
 
import getfiles.GetCounter;
 
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
 
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
 
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Text;
 
//For jdk1.5 with built in xerces parser
//import com.sun.org.apache.xml.internal.serialize.OutputFormat;
//import com.sun.org.apache.xml.internal.serialize.XMLSerializer;
 
//For JDK 1.3 or JDK 1.4  with xerces 2.7.1
import org.apache.xml.serialize.XMLSerializer;
import org.apache.xml.serialize.OutputFormat;
 
 
public class WriteMsg2 {
 
	//No generics
	Document dom;
 
	public WriteMsg2() {
 
		//Get a DOM object
		createDocument();
	}
 
	/**
         * Using JAXP in implementation independent manner create a document object
         * using which we create a xml tree in memory
         */
	private void createDocument() {
 
		//get an instance of factory
		DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
		try {
		//get an instance of builder
		DocumentBuilder db = dbf.newDocumentBuilder();
 
		//create an instance of DOM
		dom = db.newDocument();
 
		}catch(ParserConfigurationException pce) {
			//dump it
			System.out.println("Error while trying to instantiate DocumentBuilder " + pce);
			System.exit(1);
		}
 
	}
 
	/**
         * The real workhorse which creates the XML structure
         */
	private void createDOMTree(String user,String subject,String content,int priority){
 
		//create the root element <Messages>
		Element rootEle = dom.createElement("Messages");
		dom.appendChild(rootEle);
 
		//create <Messages> element and attach it to root
		Element messagesEle = createMessageElement(user,subject,content,priority);
		rootEle.appendChild(messagesEle);
	}
 
	/**
         * Helper method which creates a XML element <Message>
         * @param The message for which we need to create an xml representation
         * @return XML element snippet representing a message
         */
	private Element createMessageElement(String user,String subject,String content,int priority){
	    String MESSAGE = "MSG";
		Element messageEle = dom.createElement("Message");
 
		//create user element and user text node and attach it to bookElement
		Element idEle = dom.createElement("ID");
		GetCounter cnt = new GetCounter();
		int CNT_CNT = cnt.addCounter(MESSAGE, true);
		Text idText = dom.createTextNode(CNT_CNT+"");
		idEle.appendChild(idText);
		messageEle.appendChild(idEle);
 
		//create user element and user text node and attach it to bookElement
		Element authEle = dom.createElement("USER");
		Text authText = dom.createTextNode(user);
		authEle.appendChild(authText);
		messageEle.appendChild(authEle);
 
		//create subject element and subject text node and attach it to bookElement
		Element titleEle = dom.createElement("SUBJECT");
		Text titleText = dom.createTextNode(subject);
		titleEle.appendChild(titleText);
		messageEle.appendChild(titleEle);
 
		//create content element and content text node and attach it to bookElement
		Element contentEle = dom.createElement("CONTENT");
		Text contentText = dom.createTextNode(content);
		contentEle.appendChild(contentText);
		messageEle.appendChild(contentEle);
 
		//create priority element and priority text node and attach it to bookElement
		Element priorityEle = dom.createElement("PRIORITY");
		Text priorityText = dom.createTextNode(priority+"");
		priorityEle.appendChild(priorityText);
		messageEle.appendChild(priorityEle);
 
		return messageEle;
 
	}
 
	/**
         * This method uses Xerces specific classes
         * prints the XML document to file.
     */
	private void printToFile(){
 
		try
		{
			//print
			OutputFormat format = new OutputFormat(dom);
			format.setIndenting(true);
 
			//to generate output to console use this serializer
			//XMLSerializer serializer = new XMLSerializer(System.out, format);
 
 
			//to generate a file output use fileoutputstream instead of system.out
			XMLSerializer serializer = new XMLSerializer(
			new FileOutputStream(new File("messages.xml")), format);
 
			serializer.serialize(dom);
 
		} catch(IOException ie) {
		    ie.printStackTrace();
		}
	}
 
 
	public void wMsg(String user,String subject,String content,int priority) {
 
		//create an instance
		WriteMsg2 xce = new WriteMsg2();
 
		//run
		System.out.println("Started .. ");
		createDOMTree(user,subject,content,priority);
		printToFile();
		System.out.println("Generated file successfully.");
	}
} | 
 Merci