Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1371 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [xml/dom] Copier un noeud d'un doc à un autre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[xml/dom] Copier un noeud d'un doc à un autre

n°1159904
oinfinou
Posté le 26-07-2005 à 11:21:12  profilanswer
 

Bonjour,  
 
je débute dans l'utilisation de XML avec Java. J'utilise l'API Dom pour construire un document SVG.  
 

Code :
  1. Node aNode = builder.getDOMImplementation().createDocument(null, aQualifiedName, doctype);


 
La ligne ci-dessus, en tenant compte de la création d'un Builder au préalable, crée l'entête d'un document suivante quand je l'affiche :  
 
<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
<svg/>  
 
Je voudrais créer avec le code suivant une balise <svg></svg> :  
 

Code :
  1. Document doc = (Document)aNode;
  2. Element racine = doc.createElement("svg" );
  3. doc.appendChild(racine);


 
J'ai l'erreur suivante à l'éxecution :  
 
"org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted. "  
 
Pourriez-vous m'expliquer et/ou corriger mon erreur ?  
 
Merci d'avance  
 
Bonne journée :)


Message édité par oinfinou le 27-07-2005 à 14:33:26
mood
Publicité
Posté le 26-07-2005 à 11:21:12  profilanswer
 

n°1160340
victorus_e​cl
PIBCAK
Posté le 26-07-2005 à 14:52:21  profilanswer
 

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">  
<svg/>  
 
tu as déjà une racine qui s'appelle svg...  
donc si tu essaye de rajouter une 2ème racine, ça plante :)

n°1161199
oinfinou
Posté le 27-07-2005 à 10:49:14  profilanswer
 

Exact ... je te remercie, ça fonctionne maintenant :)
 
Par contre, lorsque je veux copier un noeud d'un document vers un autre avec la methode importNode, ça génère une erreur.  
 
Voici le code :
 
Node sourceNode = docSource.getChildNodes().item(1);  
Node destNode = docDest.getChildNodes().item(1);  
Node sourceNode2 = docDest.importNode(sourceNode, true);  
docDest.appendChild(sourceNode2);  
 
et voici l'erreur :
 
org.w3c.dom.DOMException: WRONG_DOCUMENT_ERR: A node is used in a different document than the one that created it
 
Sauriez-vous pourquoi ?  
 
Merci de votre aide :)

n°1161544
oinfinou
Posté le 27-07-2005 à 14:34:18  profilanswer
 

Quelqu'un aurait-il déjà utilisé la méthode importNode avec succès ?

n°1161997
bartleby
Posté le 27-07-2005 à 17:33:40  profilanswer
 

oinfinou a écrit :

Quelqu'un aurait-il déjà utilisé la méthode importNode avec succès ?


 
Es-tu sur que tu as besoin de faire un import sur le Node ?
 
Il me semblait que AppendChild allait proceder a une copie defensive et qu'il n'y aurait pas de probleme.
 
 

Code :
  1. Node sourceNode = docSource.getChildNodes().item(1); 
  2. docDest.appendChild(sourceNode );


Message édité par bartleby le 27-07-2005 à 17:37:47
n°1164659
oinfinou
Posté le 29-07-2005 à 13:38:12  profilanswer
 

Le problème est résolu, j'avais une erreur d'implémentation. Cependant, même avec l'erreur corrigée, je suis obligé d'utiliser importNode ... Mais pourquoi, je ne sais pas.  
 
Merci pour votre aide :)

n°2144387
akbz
java
Posté le 03-06-2012 à 19:25:55  profilanswer
 

oinfinou a écrit :

Le problème est résolu, j'avais une erreur d'implémentation. Cependant, même avec l'erreur corrigée, je suis obligé d'utiliser importNode ... Mais pourquoi, je ne sais pas.  
 
Merci pour votre aide :)


 
Salut oinfinou!!
 
J'ai exactement le problème que tu avait... et je dois rendre mon projet!!!!
Je ne comprend pas comment tu as résolu ton problème quand tu dis "une erreur d'implémentation"
 
Merci d'avance de ton assitance.
 voici mon mail : pas de mail sur le forum@hotmail.com


Message édité par gilou le 03-06-2012 à 19:32:57

---------------
akk

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [xml/dom] Copier un noeud d'un doc à un autre

 

Sujets relatifs
[Delphi] Copier Objet (Assign) ?script php ôur copier contenu
changer couleur du noeud dans un treeviewCopier/coller des colonnes d'excel vers word
VBS recursif ? pour copier des sous-dossiersc++ et xml: probleme de copier/coller/supprimer
[VBA] copier la colonne d'une feuille dans une autreCopier une feuille excel en vbs
Copier noeud (debutant)[XML] Copier coller un noeud ...
Plus de sujets relatifs à : [xml/dom] Copier un noeud d'un doc à un autre


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR