[MSXML4] Comment empécher la conversion des entités ?

Comment empécher la conversion des entités ? [MSXML4] - ASP - Programmation

Marsh Posté le 28-10-2002 à 10:40:22    

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'habitude, les caractères spéciaux.
Je récupère donc les informations suivantes dans ma base de donnée :


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)

 
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 :

 
   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 :
 

 
<?xml version="1.0" encoding="iso-8859-1" ?>
<root/>

 
puis je peuple mon xml avec les infos récupérées de la base :

 
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 :

 
<?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>&#233;ssai de question</question>
            <reponse>&#233;essai de r&#233;ponse</reponse>
        </faq>
    </faqlist>
</root>

 
Ma question est donc la suivante : Comment empécher MSXML de transformer é en &#233; ?
En effet, ensuite j'utitilise une feuille XSL pour mettre en forme mon contenu et celui ci affiche "é" au lieu de "é" sur ma page HTML...
 
Question subsidiaire : pourquoi, alors que dans mon fichier "modelxml.xml" j'ai la définition suivante :

<?xml version="1.0" encoding="iso-8859-1" ?>

 
me génère t'il du XML avec une définition :

<?xml version="1.0"?>

 
 
??? tant de question me trottent dans la tête...merci de m'aider.
Merci, à bientôt.


Message édité par nima le 28-10-2002 à 10:41:18
Reply

Marsh Posté le 28-10-2002 à 10:40:22   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed