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

  FORUM HardWare.fr
  Programmation
  XML/XSL

  Créer un xml document à partir d'un autre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Créer un xml document à partir d'un autre

n°2201496
qqn
Posté le 02-09-2013 à 15:42:32  profilanswer
 

Bonjour,
 
j'ai un objet xml document contenant ceci :

Code :
  1. <racine>
  2.     <premierNoeud> Mon premier noeud </premierNoeud>
  3.     <secondNoeud>
  4.         <balise1> Ma première balise </balise1>
  5.         <balise2> Ma seconde balise </balise2>
  6.     </secondNoeud>
  7. </racine>


Ce que j'aimerais c'est créer un autre objet xml document qui contiendrait tout ce qu'il y a dans la balise "secondNoeud", à savoir :

Code :
  1. <balise1> Ma première balise </balise1>
  2. <balise2> Ma seconde balise </balise2>


Je comptais parcourir mon premier document xml et créer une chaîne de caractères contenant ce que je veux récupérer. Et ensuite je pensais transformer cette chaîne en document xml de la manière suivante :

Code :
  1. for(var k = 0; k < elt.childNodes.length; k++) //Avec elt l'élément correspondant à la balise "secondNoeud"
  2. {
  3.     var el = elt.childNodes[k];
  4.     if(el.nodeType == 1 && el.hasChildNodes() && el.tagName)
  5.         monXml += (new XMLSerializer()).serializeToString(el);
  6. }
  7. monXml = (new DOMParser()).parseFromString(monXml, "text/xml" );


J'aurais voulu savoir si vous aviez une méthode peut être plus simple et moins sujet à d'éventuelles erreurs de transformation et autre.  

mood
Publicité
Posté le 02-09-2013 à 15:42:32  profilanswer
 

n°2201499
SICKofitAL​L
misanthrope
Posté le 02-09-2013 à 16:07:44  profilanswer
 

As-tu regardé du coté de la méthode cloneNode de l'API dom ?
http://www.w3schools.com/dom/met_element_clonenode.asp
https://developer.mozilla.org/fr/do [...] .cloneNode


---------------
We deserve everything that's coming...
n°2201500
Riokmij
Blink and you're dead
Posté le 02-09-2013 à 16:07:47  profilanswer
 

XSLT ? La transformation que tu cherches à faire est triviale à exprimer en XSLT, et c'est certainement plus fiable que de passer par des concaténations de chaines de caractère.


---------------
Are you two fucking? Are you serious? Right in front of my salad?!
n°2201503
qqn
Posté le 02-09-2013 à 16:14:32  profilanswer
 

Riokmij a écrit :

XSLT ? La transformation que tu cherches à faire est triviale à exprimer en XSLT, et c'est certainement plus fiable que de passer par des concaténations de chaines de caractère.


 
Avec XSLT, d'après ce que j'ai compris, on peut transformer un document XML à partir d'un XSL. Ce n'est pas ce que j'aimerais faire dans mon cas.

n°2201504
qqn
Posté le 02-09-2013 à 16:15:58  profilanswer
 


 
J'avais complètement zappé cette méthode, je regarde ça de suite.

n°2201510
Riokmij
Blink and you're dead
Posté le 02-09-2013 à 16:45:17  profilanswer
 

qqn a écrit :


 
Avec XSLT, d'après ce que j'ai compris, on peut transformer un document XML à partir d'un XSL.


 
Oui, c'est ça, mais tu peux l'utiliser pour faire des transformations XML => XML, donc à moins que je n'aie pas du tout compris ton besoin, ça me semble correspondre à ton problème.


---------------
Are you two fucking? Are you serious? Right in front of my salad?!
n°2201513
rufo
Pas me confondre avec Lycos!
Posté le 02-09-2013 à 17:12:42  profilanswer
 

Riokmij a écrit :

XSLT ? La transformation que tu cherches à faire est triviale à exprimer en XSLT, et c'est certainement plus fiable que de passer par des concaténations de chaines de caractère.


C'est la méthode qui me semble la plus simple. XSLT permet de transformer un document XML via une feuille de styles XSL. Le document résultant peut-être n'importe quel type de fichier en fait : du XML, du XSL, du HTML, du RTF, du PDF...
 
Donc dans ton cas, ça marcherait tout à fait et ça serait très simple ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2201532
Je@nb
Kindly give dime
Posté le 02-09-2013 à 20:32:57  profilanswer
 

et là ton 2ème document n'est pas vraiment un document XML compliant car 2 balises root

n°2201592
rufo
Pas me confondre avec Lycos!
Posté le 03-09-2013 à 11:31:03  profilanswer
 

Ben suffit qu'il mette une balise root pour encapsuler ses balises ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  Créer un xml document à partir d'un autre

 

Sujets relatifs
créer un fichier xml et l'afficher dans un emplacement bien déterminéROWTYPE en PL/SQL impossible à créer sous SqlDeveloper
J'aimerais créer une fonction bien spéciale aidez-moi un peu svp ;)créer un fichier xml et avec Tinyxml et l'afficher
Creer une carte interactiveCode pour créer un raccourci
Ajout texte document wordGénérer un fichier XML a partir de données HTML
Excel: Aide pour imprimer à partir d'une listeCréer un document DOM à partir d'un parser SAX
Plus de sujets relatifs à : Créer un xml document à partir d'un autre


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