Bonjour,
je récupère via ajax du xml et y prend le contenu d'une balise pour l'insérer dans un div html.
Voici mon fichier xml :Voici mon script pour le parser :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <?xml version="1.0" encoding="UTF-8"?> <reponse> <titre>ok</titre> <contenu>essai : ok</contenu> </reponse>La variable resultat étant la réponse reçu via ajax.
Code : 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 if (window.DOMParser) { parser=new DOMParser(); xmlDoc=parser.parseFromString(resultat,"text/xml"); } else { xmlDoc=new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.async="false"; xmlDoc.loadXML(resultat); } var titre = xmlDoc.getElementsByTagName("titre")[0].childNodes[0].nodeValue; var contenu = xmlDoc.getElementsByTagName("contenu")[0].childNodes[0].nodeValue; document.title = titre; document.getElementById("contenu").innerHTML = contenu;
Tout allait bien jusqu'à ce que j'insère des balises HTML entre les <contenu></contenu>.
La parser plante, Il ne récupère que le texte jusqu'à la 1ere balise HTML fermante.
Logique qu'il veut parser les balises HTML.
Pour y remédier, j'ai mis une section CDATA dans cette balise contenu :Le résultat est que avec ou sans balises HTML, la variable contenu est vide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?xml version="1.0" encoding="UTF-8"?> <reponse> <titre>ok</titre> <contenu> <![CDATA[essai : <div>ok</div>]]> </contenu> </reponse>
Du moins elle n'est pas null mais comporte 3 caractères (je le sais grâce à contenu.length) mais rien ne se met dans ma balise via innerHTML ni même dans une alert().
Une bonne âme pour m'aider a arrêter de tourner en rond ?
Merci
Partager