IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

XMl comme string, XSL comme doc


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 89
    Points : 86
    Points
    86
    Par défaut XMl comme string, XSL comme doc
    Bonjour,

    Je vous présente mon soucis : j'ai maintenant un "fichier xml" sous la forme d'une chaine de caractères (et donc non un fichier proprement parlé) et un véritable fichier xsl (monfichier.xsl) de conversion du xml..
    Objectif : faire la transformation XSLT du XML en utilisant le fichier XSL. En testant ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // IE method
    		if (window.ActiveXObject)
    		{
    			transfo_result = new ActiveXObject("MSXML2.DOMDocument");
    			xml.transformNodeToObject(xsl, transfo_result);
     
    		// Other browsers
    		}
    		else
    		{
    			transfo_result = new XSLTProcessor();
    			transfo_result.importStylesheet(xsl);
    			transfo_result = transfo_result.transformToDocument(xml);
    		}
    le transformToDocument ne fonctionne pas.. J'imagine qu'il existe un moyen de convertir une chaine de caractère en DOMDocument attendu par la fonction transformToDocument..

    En gros, j'ai en input :
    - une chaine de caracteres (le texte contenu dans mon xml)
    - un fichier xsl.

    et je veux en sortie : une nouvelle chaine de caractere contenant le résultat de la transfo (j'espere que les détails sont plutot clairs..).

    Merci pour votre aide !

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    En gros comme ça.
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    		// IE method
    		if (window.ActiveXObject)
    		{
    			var doc=new ActiveXObject("Msxml2.DOMDocument");
    			doc.async=false;
    			doc.loadXML(xml);
     
    			//xsl établie quelque part ici ou ailleurs, je suppose
     
    			transfo_result = new ActiveXObject("MSXML2.DOMDocument");
    			//xml.transformNodeToObject(xsl, transfo_result);
    			doc.transformNodeToObject(xsl, transfo_result);
    		}
    		else
    		{
    			var parser=new DOMParser();
    			var doc=parser.parseFromString(xml, "text/xml");
     
    			transfo_result = new XSLTProcessor();
    			transfo_result.importStylesheet(xsl);
    			//transfo_result = transfo_result.transformToDocument(xml);
    			transfo_result = transfo_result.transformToDocument(doc);
    		}
    Si ça ne marche pas tout de suite, cherchez un peu des documentations avec des mots-clés apparus dans le script comment de l'améliorer.

Discussions similaires

  1. type String considéré comme objet
    Par new_wave dans le forum Langage
    Réponses: 1
    Dernier message: 04/11/2008, 17h25
  2. [Langage] utiliser string/char comme valeur d'enumeration
    Par olobraecky dans le forum Langage
    Réponses: 4
    Dernier message: 04/11/2008, 15h13
  3. Réponses: 1
    Dernier message: 11/09/2007, 12h04
  4. Réponses: 2
    Dernier message: 26/04/2007, 18h17
  5. [Xml] Afficher un fichier comme XmlSpy
    Par Skav dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 15/09/2005, 18h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo