XML - Caractères spéciaux (\n ou encore \r...) [Résolu]

Messages postés
5
Date d'inscription
mardi 1 février 2005
Dernière intervention
4 avril 2007
- 3 avril 2007 à 23:01 - Dernière réponse :
Messages postés
5
Date d'inscription
mardi 1 février 2005
Dernière intervention
4 avril 2007
- 4 avril 2007 à 10:26
Bonjour à tous :)

N'ayant pas eu de réponses résolvant ma demande précédente (), j'ai tout de même continuer à coder comme un fou (:p), mais je me heurte à un léger souci...

J'ai un fichier XML, que j'utilise comme "fichier de configuration".
(Hop là, tentative d'utilisation de balises CODE fructueuse ?)
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <entreprise entete_entreprise="SARL \rBlablabla  \nAdresse  \nNumero de telephone" pied_de_page_entreprise="SARL au capital de XXX Euros - N RCS : DFVXVGSD - NSIREN : C0DFDS0F0594354FY45 75"></entreprise>
</configuration>


Que je tente de lire pour afficher dans un PrintPreviewDialog :

//Création d'un objet représentant un fichier xml
            XmlDocument doc_config = new XmlDocument();
            //Chargement de notre fichier xml
            doc_config.Load("config.xml");
            //On récupère l'élément entete_entreprise
            XmlNodeList xnl_entreprise = doc_config.GetElementsByTagName("entreprise");

             //Pour chaque élément utilisateur
            foreach (XmlNode node_entete_pied in xnl_entreprise)
            {
                //Récupération de l'attribut date (1er attribut)
                XmlAttribute entete = node_entete_pied.Attributes[0];
                //Récupération de l'attribut profil (2ème attribut)
                XmlAttribute pied = node_entete_pied.Attributes[1];

                this.entete = entete.Value;
                this.pied_de_page = pied.Value;
            }


La lecture se passe bien, j'ai le texte que je désire, mais, comme vous pourrez le constater dans le premier attribut de mon noeud XML principal, j'ai des "\r" et autres "\n" :) qui ne sont pas interprété dans mon rendu...

Si en revanche je mets directement :

this.entete = "[Logo] \r SARL Blablabla \n Adresse \n Numéro de téléphone";

Les sauts de lignes escomptés sont bel et bien "affichés", ou du moins visibles :)

Auriez-vous une petite piste pour que mes caractères "spéciaux" soient interprétés à partir du texte contenu dans mon XML par hasard ?

Merci d'avance ;)
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 4 avril 2007 à 10:16
3
Merci
c'est normal... car dans XML tu n'as que des chaines "litérales"... en gros, .net interprète tes \n et \r en [file://\\n \\n] et [file://\\r \\r]... il faut donc que tu fasses un replace comme ceci :

this.entete = chaineXML.Replace("\\r","\r").Replace("\\n","\n");

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]

Merci sebmafate 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de sebmafate
Messages postés
5
Date d'inscription
mardi 1 février 2005
Dernière intervention
4 avril 2007
- 4 avril 2007 à 10:26
0
Merci
Merci beaucoup pour l'info !
Ca marche impec ;)
Commenter la réponse de YanisLiadon

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.