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 de caractère d'échappement en XML


Sujet :

Dotnet

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Points : 133
    Points
    133
    Par défaut Problème de caractère d'échappement en XML
    Bonjour à tous,

    Je ne sais pas si c'est le bon forum pour poster mon problèmes car il mélange un peu pleins de choses.

    Mon souci est en C# en utilisant MSXML2.

    Quand je crée un document XML sous visual studio en utilisant msxml2 tous les caractères " sont échappés par un slash genre et j'ai les caractères saut de ligne sous forme \r\n
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <attribut code=\"001\" .../>
    Le souci c'est que le même xml crée en vb6 n'a pas d'échappement et vu que j'ai une appli en vb6 qui doit parser le xml et le valider via un fichier xsd ben j'ai un parse error.

    Je voulais savoir a part supprimer ces caractères à la main y'a t-il un autre moyen de faire ?

    Merci pour votre aide à tous
    La Solution AGILE de Cartographie et d'Urbanisation des Systèmes d'Information éditée et développée par la société AB+ SOFTWARE
    https://www.abplussoftware.fr

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 552
    Points : 21 608
    Points
    21 608
    Par défaut
    Ce serait plutôt une question c# ou .Net.

    À vue de nez, tu utilises mal msxml2. Il faudrait voir ton code pour te donner un exemple.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Points : 133
    Points
    133
    Par défaut
    je m'en sert de la même manière en vb6 qu'en C# en fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
                DOMDocument40 xDoc = new MSXML2.DOMDocument40();
                IXMLDOMElement xRacine;
     
                //Ajout de l'en-tête XML
                xDoc.appendChild(xDoc.createProcessingInstruction("xml", "version='1.0' encoding='iso-8859-15'"));
     
                //Création du premier noeud
                xRacine = xDoc.createElement("ObjProps");
                xRacine.setAttribute("nom", listeProps[0]);
                xRacine.setAttribute("pseudo", listeProps[1]);
                xRacine.setAttribute("AMS", listeProps[2]);
                xDoc.appendChild(xRacine);
     
                //Ajout des attributs de l'occurence
                for (int i = 3; i < listeProps.Count; i++)
                {
                    IXMLDOMElement xNode = xDoc.createElement("Attribut");
                    xNode.setAttribute("indice", i-2);
                    xNode.setAttribute("nom", listeProps.Keys[i].ToString());
                    xNode.setAttribute("pseudo", listeProps.Keys[i].ToString());
                    xNode.setAttribute("valeur", listeProps[i].ToString());
                    xRacine.appendChild(xNode);
                }
    La Solution AGILE de Cartographie et d'Urbanisation des Systèmes d'Information éditée et développée par la société AB+ SOFTWARE
    https://www.abplussoftware.fr

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 236
    Points : 133
    Points
    133
    Par défaut
    je viens de tester en utilisant XmlDocument de System.XML et j'ai le même résultat. Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    XmlDocument xDoc = new XmlDocument();
     
                //Ajout de l'en-tête XML
                XmlDeclaration xmlDeclaration = xDoc.CreateXmlDeclaration("1.0", "utf-8", null);
     
                //Ajout du noeud principal
                XmlElement xRacine = xDoc.CreateElement("ObjProps");
                xRacine.SetAttribute("nom", listeProps[0]);
                xRacine.SetAttribute("pseudo", listeProps[1]);
                xRacine.SetAttribute("AMS", listeProps[2]);
     
                xDoc.InsertBefore(xmlDeclaration, xDoc.DocumentElement);
                xDoc.AppendChild(xRacine);
     
                // Ajout des noeuds attributs
                for (int i = 3; i < listeProps.Count; i++)
                {
                    XmlElement xNode = xDoc.CreateElement("Attribut");
                    xNode.SetAttribute("indice", (i - 2).ToString());
                    xNode.SetAttribute("nom", listeProps[i].ToString());
                    xNode.SetAttribute("pseudo", listeProps[i].ToString());
                    xNode.SetAttribute("valeur", listeProps[i].ToString());
     
                    xDoc.DocumentElement.PrependChild(xNode);
     
                }
    Et voici le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?xml version=\"1.0\" encoding=\"utf-8\"?>
       <ObjProps nom=\"Acteur\" pseudo=\"Acteur\" AMS=\"111\">
          <Attribut indice=\"1\" nom=\"Code\" pseudo=\"Code\" valeur=\"Act001\" />
          <Attribut indice=\"2\" nom=\"Libellé\" pseudo=\"Libellé\" valeur=\"Commercial\" />
          <Attribut indice=\"3\" nom=\"Type\" pseudo=\"Type\" valeur=\"Int\" />   
          <Attribut indice=\"4\" nom=\"Valide\" pseudo=\"Valide\" valeur=\"\" />
          <Attribut indice=\"5\" nom=\"Date_Debut_Service\" pseudo=\"Date_Debut_Service\" valeur=\"\" />
          <Attribut indice=\"6\" nom=\"Date_Mise_en_service\" pseudo=\"Date_Mise_en_service\" valeur=\"\" />
          <Attribut indice=\"7\" nom=\"Commentaire\" pseudo=\"Commentaire\" valeur=\"\" />
    </ObjProps>
    J'ai des \ avant chaque " je comprends pas pourquoi
    La Solution AGILE de Cartographie et d'Urbanisation des Systèmes d'Information éditée et développée par la société AB+ SOFTWARE
    https://www.abplussoftware.fr

Discussions similaires

  1. [IDE] Probléme caractére d'échappement
    Par Sixpounder dans le forum C++Builder
    Réponses: 2
    Dernier message: 20/07/2010, 11h56
  2. Problème encodage caractères sépeciaux - XML - Java - Tomcat
    Par commande dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 19/08/2009, 12h31
  3. XML vers DataSet : Problème de caractère spéciaux
    Par verbal34 dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 31/12/2008, 12h31
  4. Problème caractère d'échappement
    Par urashima82 dans le forum Oracle
    Réponses: 2
    Dernier message: 21/04/2008, 13h58
  5. [XML] Problème de caractères spéciaux ( & )
    Par kenny49 dans le forum XML/XSL et SOAP
    Réponses: 9
    Dernier message: 17/03/2007, 20h37

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