OVH Cloud OVH Cloud

XML et caracteres speciaux

4 réponses
Avatar
badubo
Bonjour,

J'ai realise en c# une appli qui traite des données et les sauve sous un
format XML specifique afin d'etre ensuite traitees par une application third
party.

Le probleme que je rencontre est que le parser XML de .NET sauve les
caracteres speciaux sous la forme &XXX; (p.e. " pour ",ce qui est
logique) mais que l'appli qui doit ensuite lire les data ne comprend ces
caracteres que s'ils sont sous la forme numerique (")
Existe t'il un moyen de sauver de l'xml en utilisant le format numerique
plutot que symbolique?

merci

4 réponses

Avatar
Jean-François Borie
Avant de passer ton texte utilise System.Web.HttpUtility.HtmlEncode

le moteur xml utilise XmlConvert


--
Signaler si la réponse à été utile.


"badubo" a écrit :

Bonjour,

J'ai realise en c# une appli qui traite des données et les sauve sous un
format XML specifique afin d'etre ensuite traitees par une application third
party.

Le probleme que je rencontre est que le parser XML de .NET sauve les
caracteres speciaux sous la forme &XXX; (p.e. " pour ",ce qui est
logique) mais que l'appli qui doit ensuite lire les data ne comprend ces
caracteres que s'ils sont sous la forme numerique (")
Existe t'il un moyen de sauver de l'xml en utilisant le format numerique
plutot que symbolique?

merci





Avatar
badubo
Merci pour cette reponse

Malheureusement, ca ne marche pas,
le caractere " (celui qui me pose le plus de problemes) est aussi converti
en " par HtmlEncode (et pas ")
ensuite, le sauver avec le xml fait que le " devient " (et la
c'est encore pire :-( )
De toutes facons, meme s'il utilisait " il serait ensuite converti en
&#34
A moins que j'ai loupe une astuce pour l'utilisation du HtmlEncode ?

Je pense que je vais devoir me resoudre a reouvrir le fichier et modifier
chaque caractere special dans sa version numerique

Merci


"Jean-François Borie" wrote in
message news:
Avant de passer ton texte utilise System.Web.HttpUtility.HtmlEncode

le moteur xml utilise XmlConvert


--
Signaler si la réponse à été utile.


"badubo" a écrit :

Bonjour,

J'ai realise en c# une appli qui traite des données et les sauve sous un
format XML specifique afin d'etre ensuite traitees par une application
third
party.

Le probleme que je rencontre est que le parser XML de .NET sauve les
caracteres speciaux sous la forme &XXX; (p.e. " pour ",ce qui est
logique) mais que l'appli qui doit ensuite lire les data ne comprend ces
caracteres que s'ils sont sous la forme numerique (")
Existe t'il un moyen de sauver de l'xml en utilisant le format numerique
plutot que symbolique?

merci







Avatar
Ambassadeur Kosh
> Existe t'il un moyen de sauver de l'xml en utilisant le format numerique
plutot que symbolique?



t'as pas de moyen d'action sur l'appli qui lit les données ?

ou alors un WriteRaw dans le Writer ? mais ça pue...

sinon, ça : j'ai pas testé mais sait on jamais...

XmlWriterSettings settings = new XmlWriterSettings();
settings.OutputMethod = XmlOutputMethod.Html;
Avatar
badubo
> t'as pas de moyen d'action sur l'appli qui lit les données ?


ll y a un bug report de rentre,mais je ne sais pas quand ce sera corrige.

ou alors un WriteRaw dans le Writer ? mais ça pue...

sinon, ça : j'ai pas testé mais sait on jamais...

XmlWriterSettings settings = new XmlWriterSettings();
settings.OutputMethod = XmlOutputMethod.Html;



Je vais essayer, un grand merci :-)