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

Dotnet Discussion :

Problème génération XML (absence de quote => déclaration invalide)


Sujet :

Dotnet

  1. #1
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Points : 55
    Points
    55
    Par défaut Problème génération XML (absence de quote => déclaration invalide)
    Bonjour,
    Je dois convertir un objet XmlDocument en String. Pour cela, j'utilise le code suivant :

    Remplissage du XmlDocument :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    document = new XmlDocument();
     
    XmlDeclaration declaration = document.CreateXmlDeclaration("1.0", "UTF-8", "");
     
    XmlElement eRoot = document.CreateElement(XT_ROOT_NODE);
     
    XmlElement eType = document.CreateElement(XT_MESSAGE_TYPE);
    eType.InnerText = MT_REQUEST;
    eRoot.AppendChild(eType);
     
    //... Ca continue
    Passage du XmlDocument à une String :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public String convertToXml()
            {
                StringWriter sw = new StringWriter();
                XmlTextWriter xw = new XmlTextWriter(sw);
                document.WriteTo(xw); // document est un XmlDocument
                return sw.ToString();
            }
    Le problème, c'est que la déclaration obtenue est ainsi :
    <?xml version=1.0 encoding=UTF-8?>

    Alors qu'il faudrait qu'elle soit ainsi :
    <?xml version='1.0' encoding='UTF-8'?> (avec quotes) pour être valide.

    Que dois-je faire pour obtenir une déclaration valide ?

    Note : je n'ai pas inclus d'attribut dans mon xml, donc je ne sais pas si on rencontre le même problème dans ce cas.

    Merci d'avance

  2. #2
    Membre du Club
    Profil pro
    Développeur .NET
    Inscrit en
    Mai 2007
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 50
    Points : 55
    Points
    55
    Par défaut
    J'ai trouvé la solution à mon problème.

    Je pensais que la génération du Xml était mauvaise alors qu'elle était bonne :
    <?xml version="1.0" encoding="UTF-8" ?>...

    En fait, la chaine Xml est envoyée à un autre programme en ligne de commande, lors de l'appel en ligne de commande, les guillemets sont perdus. Elle arrivait donc ainsi dans l'autre programme :
    <?xml version=1.0 encoding=UTF-8 ?>...

    Pour empêcher cela, j'ai modifié ma fonction pour remplacer les guillemets présents par des "simple quotes" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public String convertToXml()
            {
                StringWriter sw = new StringWriter();
                XmlTextWriter xw = new XmlTextWriter(sw);
                document.WriteTo(xw);
     
                String xmlValue = sw.ToString();
     
                xmlValue = xmlValue.Replace("\"", "'");
     
                return xmlValue;
            }
    Bon, bon, bon, là dessus, une petite séance et on reprend

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

Discussions similaires

  1. [Génération XML en JavaScript] Problème avec l'attribut xmlns
    Par LeHibou dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 11/08/2008, 17h30
  2. Problème génération d'un fichier XML
    Par sw_spring dans le forum Jasper
    Réponses: 1
    Dernier message: 19/03/2008, 10h32
  3. Problème sur Request.ServerVariables("QUERY_STRING"
    Par PrinceMaster77 dans le forum ASP
    Réponses: 3
    Dernier message: 25/03/2005, 12h47
  4. Problème avec XML.Clear dans un TXMLDocument
    Par Tardiff Jean-François dans le forum Composants VCL
    Réponses: 2
    Dernier message: 04/01/2005, 12h45

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