Petite gestion de fichier xml utilisant le dom en vb6 - tutoriel exemple.

Soyez le premier à donner votre avis sur cette source.

Vue 29 268 fois - Téléchargée 6 260 fois

Description

Xml est particulièrement intéressant pour gérer des fichiers à structure dynamique.
Par exemple : dans un fichier de personnes, je veux stocker des adresses mél. A priori, je ne sais pas combien d'adresses chaque personne possède. Dans une structure classique de fichier à accès direct, je prévois 5 champs pour être tranquille avec le risque d'être bloqué si une personne en possède davantage. Ou bien, je crée un champ texte dans lequel je concatène toutes les adresses en utilisant un sépérateur pour les récupérer ensuite. Il faut
néanmoins que je définisse une taille fixe pour ce champ texte et je retombe dans le même problème que pour le nombre de champs, c'est à dire de ne pas avoir suffisamment de place ou au contraire d'en gaspiller pour rien.
Dans un fichier xml, je vais pouvoir définir pour chaque utilisateur un noeud (l'équivalent de l'adresse d'un champ - ou même d'une liste de champs) pour les Méls et ce noeud contiendra autant de sous-noeuds (on dira plutôt de fils) Adresse que nécessaire (aussi bien 0 que 50 si la nécessité l'impose).
Je n'insisterai pas sur les autres intérêts de l'xml comme la naturelle structuration hiérarchique des données, les possibilités d'échange ou de récupération facilitées (essayez donc de faire une moulinette pour récupérer des données dans un fichier à accès direct dont vous ne connaissez pas la structure ni le source du programme qui a servi à le constituer ! En xml, la structure apparaît clairement dans n'importe quel Navigateur Web récent par un simple double-clic sur le nom du fichier).
Comme j'ai eu du mal à trouver des articles assez complets sur la syntaxe du DOM de Microsoft (les articles ID=5471 et ID=26155 de vbfrance m'ont beaucoup aidé - merci à leurs auteurs) et que j'ai pas mal tatonné avant d'arriver à comprendre la philosophie d'intervention dans la structure hierarchique, j'ai décidé de réaliser une petite gestion de fichier sans prétention qui, je l'espère, aidera les débutants à se lancer dans l'aventure. Ce gestionnaire, dont le source est joint avec un fichier exemple, permet de visualiser, ajouter, supprimer, modifier des données et réaliser une recherche simple (bref les fonctions indispensables que chacun pourra adapter pour son propre projet).
Je suis loin d'être un spécialiste dans le domaine et les remarques ou liens utiles seraient je crois très appréciés par tous (notamment un résumé de toutes les fonctions du DOM en français ! avec si possible un exemple d'appel depuis VB6). Je suis preneur.

Conclusion :


Ce gestionnaire s'adresse aux débutants et j'ai documenté le source au maximum. Dans un soucis de clarté, je n'ai pas hésité à utiliser des variables intermédiaires afin de découper chaque action qui concerne le DOM (alors qu'une ligne aurait parfois suffit pour obtenir le même résultat). De plus, afin d'aborder un maximum de domaines, je me suis volontairement compliqué la vie en utilisant les attributs d'étiquettes pour stocker certaines informations (le nom de la personne), plutôt que de les mettre en zone texte (ce que je vous conseille de faire pour vos propres fichiers). Enfin, j'ai mis les nom de variables en français, et ça je crois que c'est un plus pour la compréhension d'un code (dans beaucoup les sources qui utilisent des éléments extérieurs comme les ActiveX, on se demande parfois si on a affaire à un nom de variable ou à une instruction).
Après téléchargement et décompression, je vous invite à double cliquer sur le fichier PGF.xml afin de l'ouvrir dans votre Navigateur Web pour le garder sous les yeux pendant que vous consulterez le source du programme (si vous faites des modifications dans le fichier et les sauvegardez, un appui sur F5 dans le Navigateur Web actualisera l'affichage de votre fichier).

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Afyn
Messages postés
613
Date d'inscription
samedi 3 août 2002
Statut
Membre
Dernière intervention
22 décembre 2016
-
Bon code, bien décomposé et documenté.
Bravo !

Ca m'intérésserai de creuser un peu ...
Genre xml et odbc ... ou ADO
xml et SQL ?

et évidemment xml & MIDI ...
(http://www.midi.org/dtds/midi_xml.shtml)

S'il y en a qui se sente du courage ...

Bonne prog

Afyn
Navedac
jmlucienvb
Messages postés
129
Date d'inscription
mercredi 24 septembre 2003
Statut
Membre
Dernière intervention
12 février 2009
-
Cette source est très intéressante et me succite deux questions :
Le fichier pgf.xml est-il limité en taille ?
Pourrait-il être intégré dans un fichier de ressource ?
jmc70
Messages postés
77
Date d'inscription
samedi 9 novembre 2002
Statut
Membre
Dernière intervention
6 juillet 2014
-
Je ne pense pas que le fichier xml soit limité en taille (jusqu'à la taille maximale tolérée par le système d'exploitation). Par contre, le mode d'utilisation qui utilise DOM impose un chargement complet en mémoire avant utilisation ce qui le limite en pratique à des fichiers de taille assez modeste. Il existe un autre mode d'utilisation qui passe par SAX en accès direct dans le fichier mais que je ne sais pas utiliser sous VB (voir par exemple sous java http://smeric.developpez.com/java/cours/xml/sax/
Sinon, qu'entendez-vous par "être intégré dans un fichier de ressource" ?
jmlucienvb
Messages postés
129
Date d'inscription
mercredi 24 septembre 2003
Statut
Membre
Dernière intervention
12 février 2009
-
Je me demandais si un fichier xml une fois constitué pouvait être placé dans un fichier .RES comme une image ou un txt, afin de l'intégrer dans l'exe compilé d'un projet VB
cs_sahli
Messages postés
2
Date d'inscription
jeudi 8 avril 2004
Statut
Membre
Dernière intervention
2 décembre 2004
-
Merci de ce code source qui est très intéressant

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.