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 :

Traitement d'un flux XML


Sujet :

C++

  1. #1
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes embarqués
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2006
    Messages : 42
    Points : 46
    Points
    46
    Par défaut Traitement d'un flux XML
    Bonjour,

    Voilà je suis en train de travailler sur le traitement d'un fichier XML pour cela j'utilise XMLLite et mon projet fonctionne très bien. Le code que j'utilise pour créer mon Stream est le suivant (je l'ai récupéré au début de mon projet sur la MSDN)
    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
     
     
       if (FAILED(hr = SHCreateStreamOnFile(fichier, STGM_READ, &pFileStream))) 
       {
          wprintf(L"Error creating file reader, error is %08.8lx", hr);
          return -1;
       }
     
       if (FAILED(hr = CreateXmlReader(__uuidof(IXmlReader), (void**) &pReader, NULL))) 
       {
          wprintf(L"Error creating xml reader, error is %08.8lx", hr);
          return -1;
       }
     
       if (FAILED(hr = pReader->SetProperty(XmlReaderProperty_DtdProcessing, DtdProcessing_Prohibit))) 
       {
          wprintf(L"Error setting XmlReaderProperty_DtdProcessing, error is %08.8lx", hr);
          return -1;
       }
     
       if (FAILED(hr = pReader->SetInput(pFileStream))) 
       {
          wprintf(L"Error setting input for reader, error is %08.8lx", hr);
          return -1;
       }
    Seulement je dois au lieu de récupérer les infos à partir d'un fichier les récupérer à partir d'une chaine de caractères (que je dois simuler pour l'instant dans mon code par un simple tableau char []). Je ne sais pas comment créer un Stream que je pourrai utiliser ensuite pour XMLLite à partir de mon tableau.

    Merci de votre aide

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    Je ne suis pas expert ayant plutôt utilisé des BSTR avec MSXML. Mais pour XMLLite, tu devrais jeter un coup d'oeil sur les fonctions SHCreateMemStream ou CreateStreamOnHGlobal pour créer ton flux à la place de SHCreateStreamOnFile.

  3. #3
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes embarqués
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2006
    Messages : 42
    Points : 46
    Points
    46
    Par défaut
    Merci 3DArchi en utilisant le CreateStreamOnHGlobal ça fonctionne nickel. Voila le code pour créer le Stream que j'utilise.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (FAILED(hr = CreateStreamOnHGlobal(fluxXML, FALSE, &pFileStream))) 
    {
          wprintf(L" CodeErreur:%08.8lx", hr);
          return -1;
    }
    Encore merci

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

Discussions similaires

  1. [XML] [EXPAT] traitement d'un flux de donnée xml contenant des \n
    Par firejocker dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 23/02/2006, 16h49
  2. [SOAP][C#]envoi d'un flux xml en SOAP
    Par prez dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 25/04/2005, 17h57
  3. [FLASH MX2004] Créer un flux xml
    Par j0hnmerrick dans le forum Flash
    Réponses: 3
    Dernier message: 23/02/2005, 12h02
  4. [XSL] Afficher un flux XML
    Par minimoi1234 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 18/02/2005, 09h35
  5. [DOM] Comment créer des flux XML en java ?
    Par nean_j dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 27/04/2004, 12h00

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