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
Partager