Visual Basic 6.0 et le format XMLDate de publication : 05/10/2006
Par
Cécile Muno (Home) Le format de données XML se répand de plus en plus dans le monde informatique aussi bien sur les réseaux intranet que sur le Web lui-même.
Un tour d'horizon très rapide et non-exhaustif des avantages de cette technologie d'échange de données, exploitée via Visual Basic 6.0 est le but de ce petit tutoriel.
I. Quelques notions a. Le XML, c'est quoi ? b. Un peu de vocabulaire c. Quelques "bonnes" raisons pour utiliser le XML II. Exploitation de document XML a. Les références b. Le principe d'évolution dans un document XML c. Les principales déclarations liées au XML 1. MSXML2.DOMDocument 2. MSXML2.IXMLDOMElement 3. MSXML2.IXMLDOMNode 4. MSXML2.IXMLDOMNodeList d. Conclusion III. Quelques codes simples a. Ouvrir un document XML b. Rechercher une donnée c. Ajouter une donnée d. Mise à jour d'une donnée e. Créer un document XML f. Gestion des erreurs IV. Tutoriel interactif a. Comment organiser vos propositions ? b. Comment rédiger vos explications ? c. Comment me faire parvenir votre contribution ? d. Intégration au tutoriel V. Téléchargements VI. Liens utiles VI. Remerciements I. Quelques notionsa. Le XML, c'est quoi ?
C'est un langage qui permet de décrire une classe d'objets "documents xml". Au sein de ces documents, le XML impose une structure aux données de façon lisible dans un simple format texte. Le XML utilise le principe bien connu de balises mais celles-ci sont propres au créateur du document et non pas standardisées comme pour du HTML. Il est donc évidemment impératif de bien choisir ses balises pour la bonne compréhension de la structure du document. Un exemple est bien plus parlant :
b. Un peu de vocabulaire
Pour ceux qui n'auraient pas ou peu eu l'occasion de cotoyer le format XML, voici un survol très rapide du vocabulaire lié à cette norme. Pour plus de précisions, rendez-vous sur le forum XML. Un document XML est reconnaissable par :
En reprenant notre exemple précédent, nous pouvons donc dire :
Et pour vous donner une idée de l'agencement des noeuds, voici une partie de la représentation de l'arbre XML associé à cet exemple : ![]()
Il ne sert à rien d'aller plus loin dans le détail des normes XML, vous trouverez tout ce qui vous intéresse sur le forum XML ainsi qu'en lisant les tutoriels XML de developpez.com.
c. Quelques "bonnes" raisons pour utiliser le XML
Il en existe beaucoup et son utilisation dépend exclusivement du type d'application que vous devez écrire mais, sachez que cette norme peut être invariablement utilisée pour les raisons suivantes :
II. Exploitation de document XMLa. Les références
Comme pour tout composant non référencé à la base dans Visual Basic 6, il faut évidemment cocher les bonnes références avant de pouvoir utiliser la norme XML.
Au fil du temps, cette norme a poursuivi son évolution dans les systèmes d'exploitation, il existe donc plusieurs références. Dans ce petit projet, j'ai choisi Microsoft XML 3.0 car elle est installée automatiquement
avec Internet Explorer 6 et vous n'aurez ainsi aucun problème pour exécuter ce programme. Microsoft XML v2.6 b. Le principe d'évolution dans un document XMLComme vous avez pu le constater sur l'image représentant l'arbre de notre document XML, le principe d'élaboration est basé sur des niveaux de balises.
Bien visualiser la logique de cette cascade de noeuds est essentiel pour développer le code d'exploitation. En effet, le principe sera toujours le même quelque soit
la manipulation à effectuer sur le document : il faudra progresser logiquement dans les noeuds, niveau par niveau. Vous ne pouvez en effet pas atteindre directement un noeud de niveau 3 sans avoir référencé les noeuds de niveau supérieur au préalable. Dans l'exemple de document que nous allons exploiter, voici un schéma pour vous expliquer plus simplement les niveaux de noeuds : Niveaux des noeuds
Les puristes de la norme XML n'aimeront peut-être pas ce genre de "nivellage" mais il est bien plus facile de s'y retrouver dans la programmation en ayant bien en vue
le nombre de noeuds à définir pour progresser dans le document. Aidé par l'arbre XML, il sera dès lors simple de placer vos "définitions".
Par exemple :
Ceci est évidemment un exemple car, parfois, il n'est pas utile de déclarer tous les noeuds enfants, on peut passer d'un noeud de même niveau à un autre noeud de même niveau sans déclarer les noeuds enfants.
c. Les principales déclarations liées au XML
Cette liste est réduite à sa plus simple expression aussi bien pour les éléments existants que pour les méthodes et propriétés associées.
1. MSXML2.DOMDocument
Permet de déclarer une variable comme faisant référence au document XML utilisé.
Cette variable, reconnue comme étant un document XML, possède des méthodes qui permettent d'exploiter le document. Par exemple, si je désire ajouter un élément à mon document, je pourrai le programmer comme suit :
en spécifiant grâce au Set à quel noeud j'ajoute un élément. 2. MSXML2.IXMLDOMElement
Concerne bien évidemment les éléments du document XML et donc les "niveaux" que je peux parcourir. Voir de nouveau l'exemple de "nivellage". Ces éléments possèdent eux aussi des méthodes permettant de réaliser diverses actions. Les plus simples à comprendre et à appréhender me semblent être :
3. MSXML2.IXMLDOMNode
Comme le nom l'indique, nous travaillons ici au niveau des noeuds de notre document XML qui possèdent eux aussi des méthodes comme :
4. MSXML2.IXMLDOMNodeList
La liste des noeuds, comme vous l'avez sûrement deviné, permet de faire des recherches assez rapides dans les noeuds enfants.
Un petit exemple pour illustrer ce fait :
Bien évidemment, il existe aussi des propriétés comme dans l'exemple ci-dessus où la valeur d'un noeud est définie par la propriété "Text".
d. Conclusion
Ce petit tour d'horizon est bien trop rapide pour vous faire plonger dans toutes les possibilités des méthodes et propriétés de l'objet XML. Pour vous familiariser avec leur utilisation, je vous propose quelques petits codes tout simples, juste pour bien comprendre la logique d'exploitation d'un document XML.
III. Quelques codes simplesa. Ouvrir un document XML
Il faut juste attirer l'attention sur le fait qu'il existe deux manières de charger un document XML : synchrone ou asynchrone.
Par défaut, le fichier est chargé de manière asynchrone. Il faut spécifier :
pour charger tout le document en mémoire. Ce sera le cas dans les exemples associés au tutoriel vu que le fichier est en local et très petit. Le document sera chargé pour chaque action choisie dans l'exemple afin de ne pas vous obliger un ordre d'exécution précis des exemples fournis. Vous pouvez donc choisir n'importe quelle action de l'application en exemple pour voir le code d'ouverture et de chargement d'un document XML. b. Rechercher une donnée
Le principe de la recherche consiste à parcourir les noeuds à partir de la racine, soit en cherchant une balise précise, soit en cherchant un attribut. Il faut donc bien veiller à définir les "elements", "nodes", "nodelist" dont on peut avoir besoin. Evidemment, dans l'exemple c'est assez simple puisque l'on connait la structure du document et le nom des balises. La programmation est moins aisée s'il faut partir d'un document XML dont on ne connait pas la structure. Ce n'est pas le but dans cette introduction. L'exemple joint recherche un pseudo précis. c. Ajouter une donnée
Dans notre exemple, cela consiste à ajouter un nouveau membre dans le XML des membres de developpez.com. L'ajout concerne se fait toujours en signalant à la racine du document XML que l'on va créer un nouvel élément. Dès que vous avez compris cela, trouver le code est relativement simple sachant que la procédure est la même pour chaque niveau de création d'une balise.
d. Mise à jour d'une donnée
La mise à jour d'une donnée reste basée sur le même principe que la recherche à la seule différence que l'on modifie la donnée contenue dans la balise ciblée. On procède alors en modifiant la propriété Text, ce qui est une chose assez aisée à réaliser.
e. Créer un document XML
Très similaire à l'ajout de données sauf qu'il faut créer le document en y plaçant l'entête propre à ce type de document ainsi que l'extension ad hoc.
f. Gestion des erreurs
Un simple exemple de la gestion des erreurs via "parseError".
IV. Tutoriel interactif
Je vous propose, sur base de l'exemple associé à ce tutoriel, de le rendre interactif. L'exploitation de documents XML étant un domaine très vaste, j'ai pensé que le mieux pour aider les utilisateurs serait de pouvoir faire évoluer ce tutoriel avec vos propres réalisations. Pour ce faire, il faut évidemment instaurer quelques règles d'organisation et préciser comment vous allez pouvoir étoffer ces codes plutôt simplistes. Il est nécessaire de poser les bases de l'organisation afin que ce système soit performant et intéressant à tous points de vue. Si vous désirez que votre proposition soit publiée, je vous enjoins donc à suivre ces quelques impératifs : a. Comment organiser vos propositions ?
En quelques points, voici comment procéder :
b. Comment rédiger vos explications ?
Il est bien évident que les codes seuls ne peuvent pas renseigner sur ce que vous avez voulu réaliser. Une explication substantielle est donc nécessaire en accompagnement. Veuillez respecter ces quelques consignes dans vos explications :
c. Comment me faire parvenir votre contribution ?
Afin d'intégrer votre proposition à ce tutoriel, il est nécessaire que je recoive, sous forme de fichiers "ZIP" :
d. Intégration au tutoriel
Je me charge de l'intégration de vos commentaires et du programme modifié dans ce tutoriel en référencant, bien entendu, que vous en êtes l'auteur exclusif. Les sources publiées sont toujours libres de droit mais le texte associé est protégé au même titre que tous les tutoriels publiés sur développez. Je précise aussi que l'intégration de votre code est soumis à l'approbation de l'équipe Visual Basic quant à sa nécessité, la manière de coder, la pertinence des commentaires et explications ainsi que la facilité d'exécution. Il est évident que nous vous tiendrons au courant des remarques éventuelles afin de faire évoluer positivement votre proposition et aboutir à son intégration.
A vos codes et bon travail !
V. TéléchargementsVI. Liens utilesVI. Remerciements
A toute l'équipe Visual Basic et plus particulièrement à Argyronet pour ses conseils avisés et la relecture du cours. Je tiens déjà à remercier aussi tous les futurs participants pour l'évolution de ce tutoriel.
Les sources présentés sur cette pages sont libres de droits, et vous pouvez les utiliser à votre convenance.
Par contre la page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits
d'auteurs. Copyright © 2006 Cécile MUNO (Khany). Aucune reproduction, même partielle, ne peut être faite de ce site et
de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon
vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts.
|
Copyright © 2000-2012 - www.developpez.com