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

MFC Discussion :

MSXML, SAXXMLReader, MXXMLWriter, et SAXXMLFilter en c++


Sujet :

MFC

  1. #1
    Nouveau candidat au Club
    Inscrit en
    Juillet 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 2
    Par défaut MSXML, SAXXMLReader, MXXMLWriter, et SAXXMLFilter en c++
    Bonjour,

    j'essaie d'écrire un filtre qui lit un fichier XML, y applique quelques modifications et on écrit le résultat dans un fichier XML. Pour ceci, j'utilise visual studio 6.0 et la lib MSXML3.0

    La solution que j'envisage est :

    - lire le fichier XML : SAXXMLReader
    - Aplliquer les modifications : SAXXMLFilter
    - Ecrire le résultat : MXXMLWriter

    Actuellement, je suis tombé sur un example qui explique comment connecter un Lecteur (SAXXMLReader) à un écrivain (MXXMLWriter) et un autre qui explique comment associer un "ISAXContentHandler" à un "SAXXMLReader". Mais je n'ai pas trouvé de documentations suffisantes pour ajouter un filtre entre le lecteur et l'écrivain en C++. Il existe néanmoins un exemple en VB :

    http://msdn.microsoft.com/msdnmag/issues/1100/xml/

    Mais, étant un débutant en programmation Windows, transformer le code VB en C++ n'est pas à ma portée.

    Y-a-t'il un autre moyen plus simple permettant de réaliser ce comportement de filtre ? Y-a-t'il déjà une classe impléménetant le SAXXMLFilter à laquelle je pourrait juste venir ajouter mon "SAXContentHandler" puis envoyer le résulta au MXXMLWriter ? Si non, y-a-t'il un exemple de filtre réalisé en C++ ?

    Merci d'avance,

    Cordialement,
    Pedro_

  2. #2
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par défaut
    salut,
    tu es obligé d'utilisé MSXML3.0 ?
    sinon voir ce sample:
    http://farscape.developpez.com/Samples/ProjectXML.zip

  3. #3
    Nouveau candidat au Club
    Inscrit en
    Juillet 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 2
    Par défaut
    Salut,
    Malheureusement, oui, je suis obligé d'utiliser MSXML3.0...

    Et après quelques recherches, il semble que l'utilisation de SAXXMLFilter est abandonné
    dans les versions suivantes de MSXML. J'imagine donc qu'il doit bien y avoir une autre
    méthode pour plugger un "contentHandler" et utiliser et le SAXXMLReader et le
    MXXMLWriter...

    Suis-je obligé sinon de créer un "contentHandler" et de gérer l'écriture du résultat au
    format XML à la main ?

    Merci pour l'exemple.
    Pedro_

Discussions similaires

  1. msXML compatible avec UTF-16
    Par cathar_rhythm dans le forum MFC
    Réponses: 1
    Dernier message: 23/05/2005, 15h42
  2. [msxml] pb a l'execution
    Par BainE dans le forum MFC
    Réponses: 3
    Dernier message: 23/05/2005, 14h54
  3. msxml
    Par monia dans le forum MFC
    Réponses: 1
    Dernier message: 20/05/2005, 21h39
  4. [XML+XSLT+MSXML] Ecrire ses propres fonctions
    Par görgh dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 19/05/2005, 13h04
  5. [MSXML] Comment empécher la conversion des entités ?
    Par nima dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 08/11/2002, 14h14

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