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