Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Génération de fichier xml en vba

l2c

XLDnaute Nouveau
Bonjour le forum,

je me permet de vous exposer un problème que je n'arrive pas à solutionner concernant la création de fichier xml.

J'ai biensur déja trouvé beaucoup d'info, comme d'habitude, sur l'excellent wiki : https://www.excel-downloads.com/threads/ref-wiki-page-9-de-michelxld.92377/

J'arrive créer le fichier dont j'ai besoin et ca marche avec excel 2000 (pas le choix), mais là je bloque...

voici mon code :

Sub creerFichierXML()
Dim objDOM As DOMDocument
Dim XNodeRoot As IXMLDOMElement, Xnode As IXMLDOMElement
Dim oPi As IXMLDOMProcessingInstruction
Set objDOM = New DOMDocument
objDOM.resolveExternals = True
Set oPi = objDOM.createProcessingInstruction("xml", "version='1.0' encoding='ISO-8859-1' standalone='yes'")
Set oPi = objDOM.insertBefore(oPi, objDOM.childNodes.Item(0))
Set XNodeRoot = objDOM.createElement("noeudRacine")
Set XNodeRoot = objDOM.createElement("sousnoeudRacine")
objDOM.appendChild XNodeRoot

i = 2
While Cells(i, 1) <> ""
Set Xnode = objDOM.createElement(Sheets("feuil1").Cells(i, 1))
Xnode.Text = Sheets("feuil1").Cells(i, 2)
XNodeRoot.appendChild Xnode
i = i + 1
Wend

objDOM.Save ThisWorkbook.Path & "\leFichier.xml"
Set XNodeRoot = Nothing
Set Xnode = Nothing
Set objDOM = Nothing
End Sub


En fait, pour communiquer avec une autre appli, j'aurais besoin de générer un fichier xml avec un structure du type :

- <noeudRacine>
- <sousnoeudRacine>
<Balise1>Le Texte 1</Balise1>
<Balise1>Le texte 2</Balise1>
<Balise1>Le texte 3</Balise1>
</sousnoeudRacine>
</noeudRacine>

Mais je n'arrive pas à créer le second noeud "sousnoeudRacine" ->

Erreur : "Un seul élément de niveau supérieur est autorisé dans un document xml"

Quelqu'un aurait-il une idée ?

Merci d'avance.
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…