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 :
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>
Voici mon script pour le parser :
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;
La variable resultat étant la réponse reçu via ajax.

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 :
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>
Le résultat est que avec ou sans balises HTML, la variable contenu est vide.
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