PETITE GESTION DE FICHIER XML UTILISANT LE DOM EN VB6 - TUTORIEL EXEMPLE.

Afyn Messages postés 608 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 décembre 2016 - 14 nov. 2004 à 23:25
lwred Messages postés 16 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 23 mai 2012 - 1 juin 2010 à 17:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/27570-petite-gestion-de-fichier-xml-utilisant-le-dom-en-vb6-tutoriel-exemple

lwred Messages postés 16 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 23 mai 2012
1 juin 2010 à 17:34
Bonjour !

Enfin un code qui me permet facilement de manipuler un fichier XML, whaou! Merci !
Le truc c'est que je suis un peu puriste (en plus d'être nul), y aurait-il un moyen de classer les nouveaux enregistrements par ordre alphabétique sur le TAG NOM ?
Je ne sais pas comment faire, le classement se fait juste en mettant la Listbox sur Sorted = True mais du coup le fichier généré au format XML n'est pas très propre.

Merci d'avance pour votre aide,
PS pour Seiky, la modif des variables prend 30 secondes chrono.
++

Stéphan
imanuelga Messages postés 3 Date d'inscription samedi 8 juin 2013 Statut Membre Dernière intervention 9 juin 2013
25 nov. 2009 à 20:17
Merci : une mine !
fgombeaud Messages postés 1 Date d'inscription mercredi 3 janvier 2007 Statut Membre Dernière intervention 27 décembre 2008
27 déc. 2008 à 23:21
Exactement l'exemple que je cherchais. Merci pour toutes ces heures gagnées.
williom Messages postés 230 Date d'inscription dimanche 3 octobre 2004 Statut Membre Dernière intervention 2 juillet 2009
8 juin 2008 à 15:38
Merci beaucoup pour cette source, très bien commentée.
moimadmax Messages postés 18 Date d'inscription mardi 2 septembre 2003 Statut Membre Dernière intervention 27 novembre 2008
13 août 2007 à 13:51
He oui, ca sert vraiment toujours :)
Bien sur 10/10 je ne vais pas répeter les 24 commentaires positifs.
Merci jmc70.
Par contre 0/10 pour Seiki. Mais comme chantait Brassens.
Le temps ne fait rien à l'affaire quand on est con ... on est con
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
27 juil. 2007 à 10:00
MERCI!!!
Je ne savais pas utiliser DOM (oui j'avais un peut honte, lol).
Ton exemple est vraiment bien, les commentaires sont nombreux et clairs.
Un petit bémol quand même pour les déclarations de variables qui sont il est vrais obsolète mais je note 10/10 aux vues des commentaires.

Parfait pour découvrir DOM.
Merci encore pour cette source qui va me faire gagner pas mal d'heures de testes.

:) Amicalement :)
cs_Red_Dragon Messages postés 41 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 27 septembre 2006
15 mai 2007 à 10:20
Toujours utile en effet de trouver des exemples et des explications, même sur des sujets que l'on pourrait croire connus de tous. Il y a toujours une première fois... Merci.
bedthdb Messages postés 1 Date d'inscription mercredi 2 février 2005 Statut Membre Dernière intervention 4 janvier 2007
4 janv. 2007 à 16:54
Comme quoi, plus de 2 ans après sa publication, il y a encore des amateurs...
Merci, en ce qui me concerne j'utilise beaucoup l'xml en lecture, ce qui me permet de
réaliser des applications avec une maintenance déportée grâce à des fichiers de paramètres XML.
L'intérêt de cet exemple est aussi de montrer comment ajouter des records dans un fichier XML
Thierry
CDMac Messages postés 1 Date d'inscription lundi 28 avril 2003 Statut Membre Dernière intervention 20 décembre 2006
20 déc. 2006 à 11:53
Merci , tres utile pour moi aussi.
Les commentaires aident beaucoup à la compréhension.
abraal Messages postés 6 Date d'inscription jeudi 24 novembre 2005 Statut Membre Dernière intervention 18 septembre 2007
14 juin 2006 à 11:03
Merci trés bon code ....
Il m'a beaucoup aidé ==> 10/10 ;)
danyflyn Messages postés 8 Date d'inscription jeudi 2 septembre 2004 Statut Membre Dernière intervention 25 mars 2006
25 mars 2006 à 15:48
Vraiment c'est juste ce que je cherchais a long temps sans réussir.
Cette source est vraiment très utile pour ceux que veulent utiliser XML en VB6, je peux dire même c'est un modèle.
Encore la façon comme vous commentez le code c'est incroyable. Vous êtes vraiment un grand professeur.
Merci beaucoup.
peug Messages postés 232 Date d'inscription mercredi 25 octobre 2000 Statut Membre Dernière intervention 5 octobre 2012
9 janv. 2006 à 12:14
Très intéressant ! Mais comment peut-on générer le fichier DTD ? Je serai étonné que l'on doivent développer nous-même le code de génération ! Pourtant la DLL msxml2.dll n'a aucune propriété qui semble s'en rapprocher quelqu'un à une idée sur ce sujet ?
syb007 Messages postés 2 Date d'inscription jeudi 25 novembre 2004 Statut Membre Dernière intervention 21 décembre 2005
21 déc. 2005 à 09:40
Un grand merci à toi pour cette petite mine d'or d'informations. C'est exactement ce qu'il me manquait pour démarrer réellement cette option de mon projet.
illumen75013 Messages postés 3 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 29 novembre 2005
29 nov. 2005 à 14:18
Tres bien!
A encourager
kosssi Messages postés 2 Date d'inscription jeudi 11 septembre 2003 Statut Membre Dernière intervention 30 décembre 2005
6 oct. 2005 à 18:34
Vraiment trop bien c'est exactement ca que je cherchais merci beacoup.

10/10
scalpa98 Messages postés 2 Date d'inscription lundi 2 décembre 2002 Statut Membre Dernière intervention 9 mars 2009
19 sept. 2005 à 20:33
Bonjour !
Voulant me remettre à la programmation sous vb6 de façon un peu plus suivie...Je suis "tombé" sur votre article par hasard. Je désirerai améliorer quelques logiciels de calcul mental en ajoutant un module de base de données gérant les noms les classes les exos et les résultats. Je ne sais vers quoi m'orienter ADO ? ou Xml ? Peut on créer des états dans ce dernier format ?
Qui est ce "DOM" dont vous parlez dans l'article....?
bravo pour vos prog et notamment 1000 mots que j'ai utilisé quand j'avais un ce1..
agnescol Messages postés 32 Date d'inscription mercredi 20 avril 2005 Statut Membre Dernière intervention 13 septembre 2005
17 mai 2005 à 17:22
merci beaucoup pour ce code, c'est exactement ce que je voulais ça m'a permis de gagner du temps vu que tout est très bien commenté

merci
Utilisateur anonyme
5 mars 2005 à 18:08
Bonjour Lvrimmo,
j'ai généré dans la petite gestion, un fichier aléatoire de 32000 enregistrements (je ne suis pas allé au delà car j'utilise des variables entières dans le programme). Chaque enregistrement contient sept champs de 20 caractères ce qui donne en fin de compte un fichier d'un peu moins de 9 Mo (assez économe par rapport à un fichier à accès direct dont tous les champs occupent la même place, qu'ils soient pleins ou vides).
Le chargement du fichier, incluant la constitution de la liste des noms prend environ 6 sec. La sauvegarde de tout le fichier, moins de 4 sec. La mise à jour d'une fiche prend également 6 sec (dans pfg, le fichier est écrit sur le disque et la liste des noms est rechargée intégralement - ce qui peut expliquer cette lenteur). L'accès à une fiche est bien sûr instantané puisque tout le fichier est en mémoire (la recherche en plein texte plante, mais je n'ai pas cherché pourquoi).
J'ai fait les essais sur un portable Centrino à 1,5 Ghz sous XP Pro avec 512 Mo de Ram, le fichier étant sur un disque USB externe. J'avais arrêté et redémarré l'ordinateur pour purger la mémoire.
On peut bien sûr diminuer significativement ces temps d'attente en créant un fichier index séparé et en ne faisant la mise à jour sur le disque qu'à la fin de la session (ce qui présente un risque de perte de données en cas de panne de courant ou de plantage).
Ces performances restent modestes par rapport à un gestionnaire de base de données mais peut rendre déjà pas mal de services (il faut tout de même rentrer les 32000 fiches !)
J'ai aussi généré sans problème 50000 fiches (mais sans pouvoir les recharger du fait des variables entières - n'oublions pas que le programme était au départ destiné à gérer des petits fichiers !)
Amicalement
Lvrimmo Messages postés 4 Date d'inscription dimanche 30 novembre 2003 Statut Membre Dernière intervention 2 juillet 2007
4 mars 2005 à 07:50
Merci jmc70 pour cet excellent exemple de code.

Vous indiquez ci-dessus : "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."

Qu'entendez-vous par "fichiers de taille assez modeste" ?

Est-ce la taille en ko du fichier xml, le nombre et la quantité des infos qu'il contient ? Enfin, quelle serait pratiquement la conséquence de l'utilisation avec DOM d'un gros fichier ?

Merci pour votre attention.

Victor
Xoh Messages postés 2 Date d'inscription mercredi 19 juin 2002 Statut Membre Dernière intervention 2 mars 2005
2 mars 2005 à 16:00
A part la déclaration des variable, effectivement un peu obsolète, très bon code, bien concu et commenté. Merci de ton travail, il va m'être très utile ;°)
Utilisateur anonyme
1 mars 2005 à 20:04
Bonjour Seiky,
je suis désolé d'avoir été aussi nul. Merci pour votre "0", j'essaierai de m'améliorer (ce petit programme était sans prétention mais j'ai passé pas mal de temps à essayer de rendre ce source clair pour la communauté).
Le vieux Basic permettait effectivement d'indiquer la nature d'une variable en ajoutant un caractère à la fin de son nom : par exemple un $ pour une chaîne, un % pour un entier etc, à une époque où la déclaration de variable n'était pas obligatoire (à noter que le "Option Explicit" n'est pas non plus obligatoire dans Visual Basic et que celui-ci continue à reconnaître les caractères de définition de type tel que je les ai utilisés - mais je ne le ferai plus dans Code Source, je vous le promets).
Je serai heureux de consulter bientôt vos sources afin de m'en inspirer pour mes futurs développements. Bonne programmation.
seiky Messages postés 1 Date d'inscription lundi 3 janvier 2005 Statut Membre Dernière intervention 1 mars 2005
1 mars 2005 à 11:16
ton code source est illisible, et tu déclares mal tes variables (comme on le faisais avec le vieux Basic)
gilgarcia Messages postés 2 Date d'inscription vendredi 31 janvier 2003 Statut Membre Dernière intervention 25 novembre 2008
14 févr. 2005 à 08:33
Merci pour ce source bien documenté avec des exemples clairs.
Excellente qualité pour ce source.
Encore Bravo !!!
toctocrapide Messages postés 1 Date d'inscription vendredi 14 janvier 2005 Statut Membre Dernière intervention 14 janvier 2005
14 janv. 2005 à 10:54
Vraiment chapeau !!!! ca correspond exactement a mes besoins !!!!! merci beaucoup !!!! BRAVO !!!!
cs_sahli Messages postés 2 Date d'inscription jeudi 8 avril 2004 Statut Membre Dernière intervention 2 décembre 2004
2 déc. 2004 à 01:31
un bon programme
cs_sahli Messages postés 2 Date d'inscription jeudi 8 avril 2004 Statut Membre Dernière intervention 2 décembre 2004
2 déc. 2004 à 01:25
Merci de ce code source qui est très intéressant
jmlucienvb Messages postés 129 Date d'inscription mercredi 24 septembre 2003 Statut Membre Dernière intervention 12 février 2009
16 nov. 2004 à 07:46
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
Utilisateur anonyme
15 nov. 2004 à 18:47
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
15 nov. 2004 à 13:19
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 ?
Afyn Messages postés 608 Date d'inscription samedi 3 août 2002 Statut Membre Dernière intervention 22 décembre 2016
14 nov. 2004 à 23:25
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
Rejoignez-nous