petit-ourson Posté 24 Juillet 2005 Posté 24 Juillet 2005 Bonjour, J'essaie de faire ma transformation XML avec feuille XSL en javascript mais je coince avec IE. Il y a bien cela : source = new ActiveXObject("Microsoft.XMLDOM"); style = new ActiveXObject("Microsoft.XMLDOM"); source.async = false; style.async = false; source.load(FichierXML); style.load(FichierXSL);document.getElementById("idResultat").innerHTML = source.transformNode(style); mais le truc, c'est que j'utilise les méthode de l'objet XMLHttpRequest pour récupérer mes données (fichier xml et xsl). Il faudrait que j'arrive à transformer mon objet retourné par la méthode responseXML (de l'objet XMLHttpRequest) en XMLDOM. Si quelqu'un avait un petite idée ;o)
loufoque Posté 24 Juillet 2005 Posté 24 Juillet 2005 Ben a priori responseXML de XMLHTTPRequest est une instance d'un Document de DOM. source = machintruc.responseXML;
petit-ourson Posté 24 Juillet 2005 Auteur Posté 24 Juillet 2005 bah c'est ce que je pensais, c'est plus simple de faire tout cela côté serveur lol
loufoque Posté 24 Juillet 2005 Posté 24 Juillet 2005 Fournis un exemple avec XMLHTTPRequest qui ne fonctionne pas.
lemoineo Posté 27 Août 2005 Posté 27 Août 2005 Un exemple qui marche sur IE ... quand il n'y a rien au départ (pas de HTML) <html><body><script type="text/javascript">// chargement du fichier XMLvar xml = new ActiveXObject("Microsoft.XMLDOM")xml.async = falsexml.load("xsl_8.xml")// chargement du fichier XSLvar xsl = new ActiveXObject("Microsoft.XMLDOM")xsl.async = falsexsl.load("xsl_8.xsl")// transformation en Htmldocument.write(xml.transformNode(xsl))</script></body></html> Mais je cherche aussi la réponse sur une partie partielle de HTML
lemoineo Posté 28 Août 2005 Posté 28 Août 2005 Moi, je n'ai qu'un demi problème par rapport à ta requête <html><head><script type="text/javascript">function Réaction(Cible,Paramètres) { // chargement du fichier XSL var xslObj = new ActiveXObject("Microsoft.XMLDOM"); xslObj.async = false; xslObj.load("xsl_a.xsl"); // chargement du fichier XML var xhrObj = new ActiveXObject('Microsoft.XMLHTTP'); xhrObj.open('POST', 'xml_a.php', true); // En attendant une requete PHP xhrObj.onreadystatechange = function() { if(xhrObj.readyState == 4) { var xmlObj = xhrObj.responseXml; // Objet XML renvoyé du serveur (en mémoire) var Résultat = xmlObj.transformNode(xslObj); document.getElementById(Cible).innerHTML = Résultat; } } xhrObj.setRequestHeader('Content-type','application/x-www-form-urlencoded'); xhrObj.send(Paramètres);}</script></head><body><div id='Début'>Début<br><input name='Début' value='Début' size=10></div><div id='Cible'>Cible<br><input name='Cible' value='Cible' size=10></div><div id='Suite' onclick="Réaction('Cible','Classe=Plouc')">Suite<br><input name='Suite' value='Suite' size=10></div></body></html> la réponse ne fournis que l'en-tete du tableau passé en XML par le PHP (basique le PHP, il fait un echo du XML, il se compliquera plus tard) Mais le code fourni par petit-ourson fonctionne chez moi !
petit-ourson Posté 28 Août 2005 Auteur Posté 28 Août 2005 J'ai un peu laisser tombé l'affaire en fait ;o) J'opte pour une transformation côté serveur comme cela, j'ai moins de surprise et je gère un système de cache. Enfin, j'ai pas eu besoin de l'utiliser, c'était plus pour faire quelques tests.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant