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

Macros et VBA Excel Discussion :

[VBA-E]Classe d'export xml


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Par défaut [VBA-E]Classe d'export xml
    Bonjour à tous.

    Voilà, je suis en train d'écrire une classe en VBA pour excel qui permettra de créer des fichiers XML par le code. Actuellement, j'ai un système qui marche pas trop mal et qui génére des fichiers valides. C'est pas super optimisé et pas forcément propre, mais ça marche.

    C'est quand j'ai commencé à m'intéresser au dtd, xsl et xsd que je me suis posé la bonne question: Existe-t-il quelque part une classe qui fait déjà cela ?

    J'ai trouvé MSXML, mais la documentation est assez obscur, et je doit dire que je ne comprend pas tout.

    Si vous avez des suggestions, je suis preneur.

    Voici un exemple de réalisation:

    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
     
    Option Explicit
    Public xmlfile
    Sub essai()
     
    Set xmlfile = New XMLUtils
     
    With xmlfile
        .Initialize "D:\essai.xml"
        .Add_header V1_0, UTF_8, "calle"
        .AddElementWithInnerText "ROOTElement"
        .AddElementWithInnerText "ERRE", "ceci est un text dans la balise"
        .AddElementWithAttribut "peter", False, "text", "pierre", "number", "047108"
        .AddElementWithInnerText "Element23", "Innertext dans la balise"
        .CloseElement "peter"
        .CloseElement "ROOTElement"
        .Finalize
    End With
     
    End Sub
    et le fichier xml générer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <calle>
    <ROOTElement>
    <ERRE>ceci est un text dans la balise</ERRE>
    <peter text='pierre' number='047108'>
    <Element23>Innertext dans la balise</Element23>
    </peter>
    </ROOTElement>
    </calle>
    Comme vous le constater, la syntaxe est relativement simple.
    J'attend vos commentaire et réponse. Merci d'avance

  2. #2
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 23
    Par défaut
    Bon

    apparement mes questions ne passionnent pas les foules.

    Je reviens quand meme à la charge. Apres avoir lu certain post, je suis arrivé à la conclusion que le MSXML est une bonne solution
    Par contre je ne trouve pas de documentation sur le fonctionnement.

    J'ai tenté le google, mais rien de concluant (en français).

    J'attend vos commentaires.

Discussions similaires

  1. [XSLT][OpenOffice] Problème filtre d'export XML
    Par Maximil ian dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 04/06/2011, 20h10
  2. [Mapping/Import/Export] XML et SGBDR ?
    Par Eric Lavanda dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 18/01/2006, 11h31
  3. Exporter une instance de classe au format XML ou XMI
    Par Scorpion Rouge dans le forum Persistance des données
    Réponses: 2
    Dernier message: 22/12/2005, 11h19
  4. Export XML
    Par Nip dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/11/2005, 13h49
  5. pb encodage lors export XML
    Par gemogof dans le forum ASP
    Réponses: 6
    Dernier message: 26/03/2005, 14h13

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