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 :

Problème de parsing XML


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 16
    Par défaut Problème de parsing XML
    Bonjour,

    J'ai une question à propos du parsing XML. Je suis en train de créer un programme Client-serveur, et les message envoyés ont tous cette forme là :

    <MS><Type>xxxx</Type><Name>xxx</Name><Datas>xxx</Datas></MS>
    Grâce au parseur intégré de C#, j'arrive à récupérer facilement le contenu des élément, entre autre le contenu de la balise <Type> :
    XmlDocument xDoc = new XmlDocument();
    xDoc.LoadXml(XMLdatas);
    String typeData = xDoc.GetElementsByTagName("Type")[0].InnerText;
    Voila le problème maintenant et que j'ai besoin dans la balise <Datas> d'insérer un autre fichier XML entier, et le problème apparait lorsque je parse le fichier avec la fonction précédente.

    Voici un exemple où le parsing me pose problème:
    <MS><Type>Message</Type><Name>StepInfos</Name>
    <Datas><?xml version="1.0" encoding="us-ascii"?><GenericStepResult xmlnssi="http://www.w3.org/2001/XMLSchema-instance" xmlnssd="http://www.w3.org/2001/XMLSchema"><Name>hello</Name>
    <NumStep>2</NumStep><StartTime>0001-01-01T00:00:00</StartTime>
    <HasCrashed>false</HasCrashed><CrashExeption>Kill</CrashExeption>
    <Status>Failed</Status></GenericStepResult>
    </Datas></MS>
    Quelqu'un aurait une idée pour résoudre ce problème? Il me faudrai juste récupérer le contenu de la balise <Type> ...
    Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Bonjour,

    Il faut inclure le document XML que tu souhaites inclure dans un autre XML dans des balises <![CDATA[ (contenu) ]]>.

    Tu peux également encoder ton document XML interne en remplaçant < par &lt; et > par &gt; (comme pour l'affichage dans une page HTML).

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 16
    Par défaut
    Merci Kaidan.

    Pour la première solution, si j'ai bien compris il faut que mon message soit de la forme :

    <MS><Type>xxxx</Type><Name>xxx</Name><Datas><![CDATA[ (contenu) ]]></Datas></MS>
    Sais-tu comment je pourrais après récupérer le "contenu" de la balise "<![CDATA[]] " . Le même principe que précédemment avec la balise "Type" ne fonctionnera pas non?

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Normalement, le premier ChildNode de <Datas> devrait être le CDATA.

    Tu peux donc ensuite récupérer le contenu via Value je suppose.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 16
    Par défaut
    En fait cela fonctionne parfaitement en utilisant

    xDoc.GetElementsByTagName("Type")[0].InnerText;
    Je récupére uniquement les données contenu dans "<Datas>" sans le CDATA.
    C'est super donc, merci encore!

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

Discussions similaires

  1. Problème de parsing XML
    Par jojo_ol76 dans le forum Android
    Réponses: 4
    Dernier message: 28/10/2011, 22h10
  2. [SAX] Problème de parsing XML
    Par titou624 dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 21/12/2010, 23h35
  3. Problème chargement/parsing xml de 36000 lignes
    Par babass77 dans le forum Flex
    Réponses: 6
    Dernier message: 18/03/2009, 23h45
  4. [JDOM] java & XML, problème de parsing avec JDOM
    Par OreillePointue dans le forum Format d'échange (XML, JSON...)
    Réponses: 9
    Dernier message: 11/01/2008, 10h17
  5. [AJAX] parsing XML
    Par Gédéon dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/12/2006, 12h26

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