[C# XmlDocument] Ajout d'un noeud d'un document dans un autre ...

Ajout d'un noeud d'un document dans un autre ... [C# XmlDocument] - C#/.NET managed - Programmation

Marsh Posté le 07-09-2006 à 12:44:46    

Hello,
 
Je reçois, via une méthode, un XmlDocument, ce XmlDocument je dois rajouter son contenu dans un autre XmlDocument, c'est a dire que le root du premier XmlDocument, devient le fils du nouveau document.
 
Nous avons le document A :

Code :
  1. <A>
  2.     <premier elem>
  3.         <fils elem>
  4.         </fils elem>
  5.     </premier elem>
  6.     <deuxieme elem>
  7.     </deuxieme elem>
  8. </A>


 
document B :

Code :
  1. <root></root>


 
Et je veux obtenir :

Code :
  1. <root>
  2.     <A>
  3.         <premier elem>
  4.             <fils elem>
  5.             </fils elem>
  6.        </premier elem>
  7.        <deuxieme elem>
  8.        </deuxieme elem>
  9.     </A>
  10. </root>


 
 
J'ai testé pas mal de truc, le append child le importnote, mais je dois très sérieusement mal m'y prendre, dernièrement il me disait que les contextes de documents ne correspondaient pas :(.
 
Une soluce :'( ?
 
par la suite j'aurai plusierus document de type A, et en faitle document B contiendra tous les doc A:

Code :
  1. <root>
  2.     <A>
  3.         <premier elem>
  4.             <fils elem>
  5.             </fils elem>
  6.        </premier elem>
  7.        <deuxieme elem>
  8.        </deuxieme elem>
  9.     </A>
  10.     <A>
  11.         <premier elem>
  12.             <fils elem>
  13.             </fils elem>
  14.        </premier elem>
  15.        <deuxieme elem>
  16.        </deuxieme elem>
  17.     </A>
  18.     <A>
  19.         <premier elem>
  20.             <fils elem>
  21.             </fils elem>
  22.        </premier elem>
  23.        <deuxieme elem>
  24.        </deuxieme elem>
  25.     </A>
  26. .
  27. .
  28. .
  29. </root>

Message cité 1 fois
Message édité par Clarkent le 07-09-2006 à 15:19:49

---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 07-09-2006 à 12:44:46   

Reply

Marsh Posté le 07-09-2006 à 13:48:42    

Clarkent a écrit :

le happend child le importnote[/cpp]


c'est une blague ?
 
Sinon,  
t'as une méthode pour obtenir la liste des noeuds du noeud "root", il te suffit de parcourir cette nodelist et de concaténer ces noeud  au noeud que tu veux construire.


---------------
Töp of the plöp
Reply

Marsh Posté le 07-09-2006 à 14:25:17    

_darkalt3_ a écrit :

c'est une blague ?
 
Sinon,  
t'as une méthode pour obtenir la liste des noeuds du noeud "root", il te suffit de parcourir cette nodelist et de concaténer ces noeud  au noeud que tu veux construire.


En quoi ca serait une blague ?
le importnode : Imports a node from another document to the current document.
La méthode ImportNode est le mécanisme par lequel un nœud ou un sous-arbre de nœuds tout entier est copié d'un XmlDocument à un autre.
 
AppendChild : ajoute le noeud spécifié a la fin de la liste des noeuds enfin de ce noeud.
 
Pourquoi ca ne fonctionnerait pas ?
 
Pour ta soluce ok, je vais essayer de faire ça, je pensis qu'il etait plus simple de rajouter tout ça.


Message édité par Clarkent le 07-09-2006 à 15:06:51

---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 07-09-2006 à 15:16:03    

et bien importnote et appendchild c'est ok, je viens d'y arriver :D suffisait de comprendre ce que faisait reellement ces deux fonctions.
Je vois tjs pas ce qu'il y avait comme blague, enfin peut etre queje vais dechanter dans quelques mins :D, en tous cas pas eu besoin de parcourir tous les noeuds.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Marsh Posté le 07-09-2006 à 15:17:51    

Clarkent a écrit :

et bien importnote et appendchild c'est ok, je viens d'y arriver :D suffisait de comprendre ce que faisait reellement ces deux fonctions.
Je vois tjs pas ce qu'il y avait comme blague, enfin peut etre queje vais dechanter dans quelques mins :D, en tous cas pas eu besoin de parcourir tous les noeuds.


ok pour la soluce;
 
sinon pour la blague:

Citation :

happend child


 
Vraiment, tu vois pas ? [:god]


---------------
Töp of the plöp
Reply

Marsh Posté le 07-09-2006 à 15:22:48    

mais euhhhhh :'(.
 
donc, je n'ai pas eu le temps de tester toutes les méthodes, car les méthodes d'ajout de noeud y en a une pletore.
 
Donc on se trouve surel fichier source, on selectionne le noeud que l'on veut, on fait  
xmlNode noeud = docD.importNode(docS.documentElement ... )
DocS.appendChild(noeud)
 
:D.


---------------
"PAR LE POUVOIR DU CRÂNE ANCESTRAL, JE DETIENS LA FORCE TOUTE PUISSANTE".
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed