Bonjour,
Je suis désolé, je fais un post un peu long, mais je me dis qu'il vaut mieux que vous ayez tous les éléments pour comprendre mon probleme, ça ira plus vite.
Donc j'utilise ASP (Jscript) avec Microsoft XML Core Services (MSXML) 4.0 pour générer du xml à partir d'informations récupérées dans une base de donnée SQL Server 2000.
Tout fonctionne bien sauf, comme d'ahbitude, les caractères spéciaux.
Je récupère donc les informations suivantes dans ma base de donnée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
ID_Q_ET_R QUESTION                   REPONSE                        TITRE               
--------- -------------------------- ------------------------------ ---------------------
57        comment ca va ?            tres bien merci.               essais
63        éssai de question     éessai de réponse    A propos de mon texte
 
(2 ligne(s) affectée(s))
je récupère ces infos via une requette SQL qui les stock dans un tableau de résultat (RecordSet)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
sqlquery = "SELECT Q.ID_Q_ET_R,Q.QUESTION,Q.REPONSE,T.TITRE FROM Q_ET_R Q,THEME T WHERE T.ID_THEME = Q.ID_THEME";
rs = objConn.Execute(sqlquery);
ensuite je crée un objet XML avec :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
   objXML = new ActiveXObject("Msxml2.DOMDocument.4.0");
   objXML.async = false;
   objXML.validateOnParse = true;
   objXML.resolveExternals = true;
   objXML.load(mapFilePath(modelxml.xml));
   objRoot = objXML.documentElement;
le fichier "modelxml.xml" contenant :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<?xml version="1.0" encoding="iso-8859-1" ?>
<root/>
puis je peuple mon xml avec les infos récupérées de la base :

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
18
19
20
21
22
23
24
25
26
if(!rs.EOF)
{
    rs.MoveFirst();
    //crée le noeud xml
    faqlistroot = objXML.createElement("faqlist");
    objRoot.appendChild(faqlistroot);   
    while (!rs.EOF)
    {
        onode = objXML.createElement("faq");
        faqlistroot.appendChild(onode);
        onode.setAttribute("id_q_et_r", String(rs.Fields("ID_Q_ET_R")));
        onode.setAttribute("titre_theme", String(rs.Fields("TITRE")));
 
 
        child = objXML.createElement("question");
        MyText = objXML.createTextNode(rs.Fields("QUESTION"));
        child.appendChild(MyText);
        onode.appendChild(child);
 
        child = objXML.createElement("reponse");
        MyText = objXML.createTextNode(rs.Fields("REPONSE"));
        child.appendChild(MyText);       
        onode.appendChild(child);               
        rs.MoveNext();
    }
}
ceci me génère alors le XML suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0"?>
<root>
    <faqlist>
        <faq id_q_et_r="57" titre_theme="essais">
            <question>comment ca va ?</question>
            <reponse>tres bien merci.</reponse>
        </faq>
        <faq id_q_et_r="63" titre_theme="A propos de WebMods">
            <question>&amp;#233;ssai de question</question>
            <reponse>&amp;#233;essai de r&amp;#233;ponse</reponse>
        </faq>
    </faqlist>
</root>
Ma question est donc la suivante : Comment empécher MSXML de transformer &#233; en &amp;#233; ?
En effet, ensuite j'utitilise une feuille XSL pour mettre en forme mon contenu et celui ci affiche "&#233;" au lieu de "é" sur ma page HTML...

Question subsidiaire : pourquoi, alors que dans mon fichier "modelxml.xml" j'ai la définition suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<?xml version="1.0" encoding="iso-8859-1" ?>
me génère t'il du XML avec une définition :
??? tant de question me trottent dans la tête...merci de m'aider.
Merci, à bientôt.