RE : PB sur un ReplaceChild

"Erik Mazoyer" <[email protected]>
Newsgroups gmane.text.xml.french.tech
Message-ID <[email protected]>
Il faut au préalable importer le nœud au sein du document :

Node appln2Node = xInterrogate.evaluate("appln2" ,documentStream).item(0);
Node appln2NodeInDoc =  appInPartElement.getOwnerDocument().importNode(appln2Node);

Et ensuite remplacer :

appInPartElement.replaceChild(appln2NodeInDoc ,appInPartElement);


Cordialement,

--------------------------------------------------------------------
Erik Mazoyer, Chef de projet
HyperOffice
6, rue Jacques Daguerre - 92565 Rueil-Malmaison Cedex
Tél. 01 41 96 96 76
Fax 01 41 96 96 77
Mél  [email protected]

-----Message d'origine-----
De : [email protected] [mailto:[email protected]] 
Envoyé : jeudi 13 avril 2006 15:20
À : [email protected]
Objet : [xml-tech] PB sur un ReplaceChild






Bonjour tout le monde,

Lorsque je fais un replaceChild sur un document sur lequel je travaille il me génère l'exception suivante:
org.w3c.dom.DOMException: WRONG_DOCUMENT_ERR: Un noeud est utilisé dans un document différent de celui qui l'a créé.

Ce qui est vrai puisuqe je veux remplacer le noeud dans un document par un noeud venant d'un autre document... Comment puis je faire cela ?

Voici mon code:
// on parcourt chaque element
for(int j = 0; j < nbrEleInPart; j++){
      Node appInPartElement = partElement.getChildNodes().item(j);

      // et on regarde si c'est une applicabilité
      if(appInPartElement.getNodeName().equals("appln2")){

      // on construit un node a partir de l'xmlFlux
      ByteArrayInputStream documentStream = new ByteArrayInputStream(xmlFlux.getBytes());
      Node appln2Node = xInterrogate.evaluate("appln2" ,documentStream).item(0);

      // si c'en est une, on remplace cet enfant la par xmlFlux
      appInPartElement.replaceChild(appln2Node,appInPartElement);
}

Merci :-)


--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !

Liste de diffusion "[email protected]" (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 [email protected]
(mailto:[email protected]?Subject=unsubscribe)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.