From: Cyril Jandia (cjandia@logfi.fr)
Date: 29/10/2002 - 11:29
> De : Massart Nicolas
> À : xml-tech@xmlfr.org
> Objet : [xml-tech] Re: MSXML : comment empécher la conversion des
> entités ?
>
> [...]Merci, je vais essayer ça, mais je ne suis pas convaincu car la
> conversion des entités se fait bien au moment où je fais :
>
> MyText = objXML.createTextNode(rs.Fields("QUESTION"));
>
> donc que j'ai stocké mes entités sous un format ou un autre dans la
> base, cela ne change rien au fait que le parametre de ma fonction
> createTextNode() sera la chaine de caractères avec les entités
> décodées... donc cette fonction createTextNode() me convertira mes
> entités malgrès tout à mon avis...
Mmmm... je vois : autant pour moi, vous avez raison, ça ne changera rien au
problème.
... Alors, vous pouvez encore plus simplement profiter du fait que, justement,
vous connaissez l'encodage (iso-8859-1) que vous avez en sortie (et pour cause :
vous le fixez vous-même dès le début!)... la solution est alors triviale avec
JScript; il suffit d'utiliser la méthode de lobjet String :
String.fromCharCode(...)
Du coup, la forme d'échappement des entités dans votre BDD ("&#xyz;" ou
"#$xyz$#" ou ...) importe peu : préférez seulement la plus simple à décoder pour
vous lors de sa conversion en entier, l'argument à String.fromCharCode(...)
> [...]
> hummm, oui, mais voila, ensuite, une fois généré, ce code XML je suis
> sensé le reinjecter à une autre application (une autre page ASP qui
> utilise HTTP pour appeler le résultat XML). Et j'aurai besoin que
> l'encoding soit préservé... :/ chui mal barré ?
Il devrait être préservé, en utilisant tout l'objet DOMDocument lui-même comme
la source d'un "stream" pour l'objet Response ASP, qqchose comme :
VotreObjetDOMDocument.save(Response);
Il faudra tt de même penser à préciser :
Response.ContentType = "text/xml";
... "avant de retourner la sauce" ;=)
> [...]Merci, à bientôt !!!
> Nicolas.
Cordialement,
--CJ
--
Devenez redacteur <XML>fr et contribuez au developpement du
xml francophone (http://xmlfr.org/infos/redacteurs/) !
Liste de diffusion "xml-tech@xmlfr.org" (http://xmlfr.org).
Cette liste est a votre disposition pour discuter en francais de
tout sujet technique lie a XML.
Pour resilier votre abonnement, envoyez un message contenant
la commande "unsubscribe" a xml-tech-request@xmlfr.org
(mailto:xml-tech-request@xmlfr.org?Subject=unsubscribe)
Archive générée par hypermail 2.1.3 le 28/06/2004 - 11:06 UTC
webmaster@xmlfr.org
|