Qu'est-ce qu'un DomDocument ?

Table des matières

Un DomDocument est un conteneur (variable/objet) pour contenir un document XML dans votre code VBA.

Tout comme vous utilisez une variable String pour contenir une valeur de chaîne, vous pouvez utiliser un DomDocument pour contenir un document XML.

(pour une liste complète des propriétés d'un DomDocuments, voir au milieu de cette page)

Pourquoi est-ce que je me soucie de ce qu'est un DomDocument ?

Excel propose des méthodes très intuitives pour déplacer XML dans une feuille de calcul (XML Maps), mais :

• Et si vous souhaitez manipuler les données après les avoir récupérées, mais avant qu'elles n'apparaissent dans vos cellules ?

• Que faire si vous souhaitez importer des données XML dans des contrôles au lieu de cellules mappées, comme des zones de liste déroulante, des étiquettes ou des zones de texte ?

Ces deux tâches sont difficiles (voire impossibles) à accomplir à l'aide de mappes XML. Nous pouvons cependant importer les données XML dans un DomDocument, puis extraire les données dont nous avons besoin, écrire dans des contrôles, filtrer les données ou manipuler les données avant qu'elles n'apparaissent dans une feuille de calcul.

Comment charger du XML dans un DomDocument ?

L'exemple suivant utilise Excel 2003. Dans Visual Basic Editor, accédez à Outils-> Références et cochez la case « Microsoft XML v5.0 »

Maintenant, nous avons besoin de XML. Récemment, j'ai créé un plan de site Google pour ce site, et il est en XML, alors utilisons-le : AutomateExcel Google XML Sitemap

Pour charger mon document XML SiteMap dans un objet DomDocument dans Excel, utilisez le code suivant (qui est commenté expliquant les choses):

1234567891011121314151617181920212223242526272829303132333435 Sous DomDocumentBasic()Dim oDom As MSXML2.DOMDocument'Créer l'objet DomDocumentDéfinir oDom = CreateObject("MSXML2.DOMDocument")'Charger tout le document avant de continueroDom.async = Faux'Ne pas valideroDom.validateOnParse = FalseoDom.Load ("Automate Excel Google XML Sitemap")MsgBox oDom.XMLFin du sous-marin

Le code charge simplement le XML et l'affiche dans une boîte de message :

Remarque : Si vous chargez XML à partir d'une URL et que vous rencontrez des problèmes, assurez-vous de ne pas oublier la ligne "oDom.async = Faux“.

Comment parcourir le DomDocument ?

Maintenant que j'ai les données XML dans un objet, comment puis-je « faire quelque chose » avec ?

LOL, j'apprends encore cette partie. Je posterai les bases dans un prochain article et je laisserai un lien vers celui-ci ici.

Le titre du message était "Qu'est-ce qu'un DomDocument", j'espère que vous avez maintenant une idée.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave