Le Lundi 20 Mars 2006 16:56, ziad.elkhatib@mpsa.com a écrit :
>
> Quelqu'un aurait il une suggestion ?
>
Il faut utiliser Node.insertBefore.
Voici un exemple ; pardonnez le coté un peu expéditif des choses.
/*
* CreerUneBaliseEnJavaEnUnEndroitPrecis.java
*
* Created on 21 mars 2006, 08:07
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package village;
import java.io.StringReader;
import java.io.StringWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
/**
*
* @author herve
*/
public class CreerUneBaliseEnJavaEnUnEndroitPrecis
{
public static void main(String[] args) throws Exception
{
DocumentBuilderFactory fabriqueDeConstructeur;
DocumentBuilder db;
StringReader xml;
Document un;
NodeList filstest;
Element root;
Element quatrième;
Element nouveauA;
DOMSource source;
StreamResult resultat;
StringWriter caracteresxmlresultat;
// on construit le Document DOM que l'on place dans "un".
fabriqueDeConstructeur = DocumentBuilderFactory.newInstance();
fabriqueDeConstructeur.setNamespaceAware(true);
db = fabriqueDeConstructeur.newDocumentBuilder();
xml = new StringReader(
"<test>"+
"<test_1/>"+
"<test_2/>"+
"<test_3/>"+
"<test_4/>"+
"<test_5/>"+
"</test>");
un = db.parse(new InputSource(xml));
// on insère le bon élément à la bonne place.
root = un.getDocumentElement();
filstest = root.getChildNodes();
quatrième = (Element)filstest.item(3);
nouveauA = un.createElement("test_A");
root.insertBefore(nouveauA, quatrième);
// et on affiche le résultat, en toute simplicité et facilité.
caracteresxmlresultat = new StringWriter();
source = new DOMSource(un);
resultat = new StreamResult(caracteresxmlresultat);
TransformerFactory.newInstance().newTransformer().transform(
source, resultat);
System.out.println("Enjoy : "+caracteresxmlresultat.toString());
}
}
Cordialement.
--
SARL diaam informatique - 04 77 25 43 28
Ingenierie, développements de systèmes d'information
http://www.diaam-informatique.com
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Received on Tue Mar 21 08:50:06 2006