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

VBA Access Discussion :

Générer la première ligne d'un fichier XML depuis VBA (Processing Instructions)


Sujet :

VBA Access

  1. #1
    Cem
    Cem est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 36
    Points : 28
    Points
    28
    Par défaut Générer la première ligne d'un fichier XML depuis VBA (Processing Instructions)
    Bonjour,

    J'ai une application sous Access 2007/Windows7 depuis laquelle je dois générer un fichier XML.
    Mon problème est de générer la première ligne du fichier xml:

    < ?xml version="1.0" encoding="UTF-8" standalone="no"?>

    < ?xml version="1.0"?> est insuffisant pour l'utilisation que j'en fait et c'est ce que j'obtiens si je ne mets pas

    'Dim PI As XmlProcessingInstruction
    ...
    ' Var PI = objDom.CreateProcessingInstruction("xml", " version='1.0' encoding='UTF-8'")
    'objDom.appendChild (PI)


    Par contre si j'essaie de mettre les pseudos attributs j'obtiens une erreur sur XmlProcessingInstruction et CreateProcessingInstruction

    Que faire ??

    Merci à la bonne âme qui a une solution

    Cem


    J'ai utilisé le code suivant:

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    Private Sub Create_XML(SenderDocID, .... SchemaID, FNSendControl)
          
       Dim objDom  As DOMDocument
       Dim objRootElem As IXMLDOMElement
       Dim objRootXSD, objRootXSD1 As IXMLDOMAttribute
       Dim objMemberElem As IXMLDOMElement
       Dim objMemberRel, ........ objMemberRel10 As IXMLDOMAttribute
       Dim objMemberName As IXMLDOMElement
       'Dim PI As XmlProcessingInstruction
       
       Set objDom = New DOMDocument
       
      ' Var PI = objDom.CreateProcessingInstruction("xml", " version='1.0' encoding='UTF-8'")     
       'objDom.appendChild (PI)
       
       ' Creates root element DocumentsToSend
       Set objRootElem = objDom.createElement("DocumentsToSend")
       objDom.appendChild objRootElem
       
       Set objRootXSD = objDom.createAttribute("xmlns:xsi")
       objRootXSD.nodeValue = "http://www.w3.org/2001/XMLSchema-instance"
       objRootElem.setAttributeNode objRootXSD
       
       Set objRootXSD1 = objDom.createAttribute("xsi:noNamespaceSchemaLocation")
       objRootXSD1.nodeValue = "./data/send/SendControl10.xsd"
       objRootElem.setAttributeNode objRootXSD1
       
       ' Creates Member element Document
       Set objMemberElem = objDom.createElement("Document")
       objRootElem.appendChild objMemberElem
       
       ' Creates Attributes to the Member Document
       
       Set objMemberRel10 = objDom.createAttribute("SchemaID")
       objMemberRel10.nodeValue = SchemaID
       objMemberElem.setAttributeNode objMemberRel10
    
    
    ......
    
    
       Set objMemberRel = objDom.createAttribute("SenderDocID")
       objMemberRel.nodeValue = SenderDocID
       objMemberElem.setAttributeNode objMemberRel
          
       ' Saves XML data to disk.
       objDom.Save (FNSendControl)          
    End Sub

  2. #2
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 854
    Points : 14 965
    Points
    14 965
    Par défaut
    Bonsoir,
    essaie peut-être en doublant les double-quotes en remplacement des simples qui ne sont pas valides en xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Var PI = objDom.CreateProcessingInstruction("xml", " version=""1.0"" encoding=""UTF-8"" ")

  3. #3
    Expert éminent sénior
    Avatar de tee_grandbois
    Homme Profil pro
    retraité
    Inscrit en
    Novembre 2004
    Messages
    8 854
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Novembre 2004
    Messages : 8 854
    Points : 14 965
    Points
    14 965
    Par défaut
    à propos,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Var PI = objDom.CreateProcessingInstruction("xml", " version=""1.0"" encoding=""UTF-8"" ")
    ce code c'est du Jscript, pour VBA c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set PI = objDom.CreateProcessingInstruction("xml", " version=""1.0"" encoding=""UTF-8"" ")
    Ou as-tu trouvé ce code ? Tu devrais poster le code complet entre les balises de code (ajouté par l'icone # quand tu écris ton message). Quelle référence as-tu ajouté pour utiliser XML, "Micorosoft XML, V6.0" ou un autre ?

  4. #4
    Expert confirmé

    Homme Profil pro
    consultant développeur
    Inscrit en
    Mai 2005
    Messages
    2 942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : consultant développeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 942
    Points : 4 866
    Points
    4 866
    Par défaut
    Bonsoir,
    aussi consulter les tutos existants comme http://arkham46.developpez.com/artic...b/?page=Page_4

    cdlt

  5. #5
    Cem
    Cem est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2005
    Messages : 36
    Points : 28
    Points
    28
    Par défaut Merci pour l'aide
    Citation Envoyé par tee_grandbois Voir le message
    à propos,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Var PI = objDom.CreateProcessingInstruction("xml", " version=""1.0"" encoding=""UTF-8"" ")
    ce code c'est du Jscript, pour VBA c'est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set PI = objDom.CreateProcessingInstruction("xml", " version=""1.0"" encoding=""UTF-8"" ")
    Ou as-tu trouvé ce code ? Tu devrais poster le code complet entre les balises de code (ajouté par l'icone # quand tu écris ton message). Quelle référence as-tu ajouté pour utiliser XML, "Micorosoft XML, V6.0" ou un autre ?

    Finalement j'ai trouvé à force de tâtonner....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Set objDom = New DOMDocument
     
       objDom.appendChild objDom.CreateProcessingInstruction("xml", "version=""1.0"" encoding=""utf-8""")
    Et comme ça , ça marche!!

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

Discussions similaires

  1. suppression d'une ligne dans un fichier XML EN VBA
    Par newcodeur dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 10/07/2008, 17h00
  2. [VB.NET]Supprimer première ligne d'un fichier TXT
    Par Golzinne dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/11/2006, 17h03
  3. [VB.NET]Ecrire à la première ligne d'un fichier texte
    Par Golzinne dans le forum Windows Forms
    Réponses: 5
    Dernier message: 16/09/2006, 01h25
  4. Supprimer la première ligne d'un fichier texte
    Par n@n¤u dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 13/07/2006, 09h38
  5. Réponses: 3
    Dernier message: 04/01/2006, 21h53

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