IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[C#/XML]Comment obtenir une sérialisation CDATA ?


Sujet :

C#

  1. #1
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut [C#/XML]Comment obtenir une sérialisation CDATA ?
    Bonjour,
    J'ai une classe qui a une propriete libelle.
    Cette propriété peut contenir dans balise html.
    Je voudrais donc que ce champ soit inclus dans un CDATA.

    Actuellement j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [XmlElementAttribute()]
    public string libelle_fr;
    
    ce qui me génère le xml suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <libelle>Pour les amateurs de ski Garmisch est un nom qui fait rêver...</libelle>
    Je voudrais le xml suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <libelle>
    <![CDATA[Pour les amateurs de ski Garmisch est un nom qui fait rêver...]]>
    </libelle>
    Comment faire ?

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 481
    Points : 616
    Points
    616
    Par défaut
    une solution simple mais peu "propre":
    tu mets ton libelle dans un string s
    tu fais un s = s.replace("<libelle>";"<libelle><![CDATA[").replace("</libelle>";"]]></libelle>");

  3. #3
    Expert éminent
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Points : 7 879
    Points
    7 879
    Par défaut
    comme CDATA est un élément de l'énumération XmlNodeType, je suggères de faire le lien entre cette propriété et les XmlAttributes. Je m'excuse de ne pas pouvoir t'en dire plus car je n'ai malheureusement pas le temps de tester moi-même

  4. #4
    Membre confirmé
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Points : 527
    Points
    527
    Par défaut
    Désolé pour l'oubli du Tag [c#/xml].
    Je ferai attention la prochaine fois.

    Comme je n'ai pas trop le temps de faire des recheche sur XmlNodeType je vais opter pour la solution pas propre notalp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     private string _libelle="";
    [XmlElementAttribute()]
    public string libelle
    {
    get
    {
    return "<![CDATA[" + _libelle + "]]>";
    }
    set{
    _libelle = value;
    }
    }


    Merci.

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 481
    Points : 616
    Points
    616
    Par défaut
    Merci

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 262
    Points : 95
    Points
    95
    Par défaut
    Depuis le temps as tu réussi à trouver une facon plus propre ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment obtenir une date dans une storeproc?
    Par Dnx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/10/2005, 15h19
  2. Comment obtenir une couleur clignotante dans un TStringGrid ?
    Par OutOfRange dans le forum Composants VCL
    Réponses: 2
    Dernier message: 24/07/2005, 00h46
  3. Comment obtenir une TOpenDialog en fsStayOnTop ?
    Par Tardiff Jean-François dans le forum Composants VCL
    Réponses: 7
    Dernier message: 28/06/2005, 12h53
  4. comment obtenir une ligne aléatoirement
    Par titoumimi dans le forum Langage SQL
    Réponses: 2
    Dernier message: 18/05/2005, 15h52
  5. Réponses: 17
    Dernier message: 04/04/2005, 17h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo