doc sur PARSER XML et MSXML 4.0

Creepy

XLDnaute Accro
Bonjour à tous,

Ce petit mot pour vous poser une question depuis le boulot puisque je n'aurais pas de Noos avant lundi prochain.

Je vais devoir gérer des fichiers XML de facon intensive. Je voudrais savoir si vous connaissez un bon site sur les parser XML et notament je pensais m'appuyer sur la librairie MSXML4.DLL si vous aviez un ou des liens avec sur les commandes et parametres pour exploiter cette DLL

Merci d'avance

Bonne soirée et à demain

@+

creepy
 
G

Gizmo

Guest
Salut Creepy,

Je me suis trouvé dans le même cas que toi il y a quelques jours alors j'ai fait quelques recherches sur le net et un site est particulèrement intéressant sur le DOM XML de Microsoft :
Ce lien n'existe plus

Il ne parle malheureusement pas de VBA (pas trop étonnant non plus...) Mais bon, je suis arrivé à écrire le code suivant pour charger en mémoire un fichier XML dans Excel 2002 en le testant (validation de sa structure).

Au préalable, je me suis assuré que la référence à 'Microsoft XML, v3.0' était validée dans le menu 'Outils/Références...'

Le code ne va pas très loin mais la suite du programme est plutôt facile à aborder en s'appuyant sur le site laltruiste.com (tout est expliqué pour l'utilisation des propriétés et des méthodes).

En espérant que ça te servira!

A plus,
Gizmo [file name=XmlAnalysis.zip size=20778]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/XmlAnalysis.zip[/file]
 

Pièces jointes

  • XmlAnalysis.zip
    20.3 KB · Affichages: 406

MichelXld

XLDnaute Barbatruc
bonjour Creepy , bonjour Gizmo

Gizmo, merci pour cette belle démo tres interessante

J'espere que tu ne m'en voudra pas : j'ai pris l'initiative de l'adapter pour que cela fonctionne chez moi :'MSXML2.DOMDocument40' ne marchait pas sur mon poste

Je travaille justement sur le sujet en ce moment .La gestion des fichiers XML depuis Excel sera un des chapitres de la prochaine WikiPage (Page 9)
Si tu le permets , je placerai un lien vers ta démo


sinon , ci joint un exemple pour créer un fichier XML depuis Excel , puis un autre pour lire le fichier créé

Option Explicit
Dim j As Long

'*****************************************
'Creer fichier XML
'*****************************************

Sub creerFichierXML()
'http://www.c2i.fr/code.asp?IDCode=21
Dim objDOM As DOMDocument, XnodeRoot As IXMLDOMElement, Xnode As IXMLDOMElement
Dim oNode As IXMLDOMNode

Set objDOM = New DOMDocument
objDOM.resolveExternals = True

Set oNode = objDOM.createProcessingInstruction('xml', 'version='1.0'')
Set oNode = objDOM.insertBefore(oNode, objDOM.childNodes.Item(0))

Set XnodeRoot = objDOM.createElement('noeudRacine')
objDOM.appendChild XnodeRoot

Set Xnode = objDOM.createElement('noeudRacine')
Xnode.setAttribute 'At1', 'Attribut1'
Xnode.Text = 'la Texte 1'
XnodeRoot.appendChild Xnode

Set Xnode = objDOM.createElement('noeudRacine')
Xnode.setAttribute 'At2', 'Attribut2'
Xnode.Text = 'Le texte2'
XnodeRoot.appendChild Xnode

Set Xnode = objDOM.createElement('noeudRacine')
Xnode.setAttribute 'At3', 'Attribut3'
Xnode.Text = 'Le texte 3'
XnodeRoot.appendChild Xnode

objDOM.Save ThisWorkbook.Path & '\\\\\\\\leFichier.xml'

Set XnodeRoot = Nothing
Set Xnode = Nothing
Set objDOM = Nothing
End Sub



'*****************************************
'Lire le contenu du fichier XML
'*****************************************
Sub Test()
Dim xmlDoc As DOMDocument
Dim root As IXMLDOMElement

Set xmlDoc = New DOMDocument

xmlDoc.async = False
xmlDoc.Load ThisWorkbook.Path & '\\\\\\\\leFichier.xml'

Set root = xmlDoc.documentElement
Cells(1, 1) = root.BaseName
j = 1
BrowseChildNodes root

j = 0
End Sub


Private Sub BrowseChildNodes(root_node As IXMLDOMNode)
'http://vb.developpez.com/faq/?page=Routines
Dim i As Long

For i = 0 To root_node.childNodes.Length - 1
If Not root_node.childNodes.Item(i).nodeType = 3 Then
j = j + 1
Cells(j, 1) = root_node.childNodes.Item(i).BaseName & '/' & _
root_node.childNodes.Item(i).Text
End If

BrowseChildNodes root_node.childNodes(i)
Next
End Sub



les sources utilisées



http://vb.developpez.com/faq/?page=Routines



bon dimanche
MichelXld [file name=XmlAnalysis_V02.zip size=17410]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/XmlAnalysis_V02.zip[/file]

Message édité par: michelxld, à: 29/01/2006 09:01

Message édité par: michelxld, à: 29/01/2006 17:43

Message édité par: michelxld, à: 03/02/2006 05:03
 

Pièces jointes

  • XmlAnalysis_V02.zip
    17 KB · Affichages: 205

Statistiques des forums

Discussions
312 196
Messages
2 086 087
Membres
103 116
dernier inscrit
kutobi87