Lecture écriture du xml 4 - facile

Soyez le premier à donner votre avis sur cette source.

Vue 11 793 fois - Téléchargée 1 918 fois

Description

Lire et écrire dans les fichiers XML n'est pas chose facile.
Inspiré de cette source (http://www.vbfrance.com/code.aspx?ID=29158)
et de ce tutorial (http://www.vbfrance.com/code.aspx?id=5471)
J'ai donc écris une classe (ou plutôt un début de classe) qui rend la tâche plus facile.

Source / Exemple :


' CheminComplet est le chemin (nom compris du fichier à traiter)
' PremierNoeud est le nom du noeud racine.
' Ascendants est la liste des ascendants du noeud à traiter.
' On peut le noter comme ça : "EnTête Profile Archange(2)"
' Dans ce cas on s'adressera au troisième item d'archange (on commence à 0)
'
' Contient les procédures suivante :
'
' -- Ouvrir(CheminComplet As String, PremierNoeud As String)
'       Pour créer un fichier xml.
'       Si le fichier existe, l'ouvre, sinon le cré
'
' -- AjouterNoeud(NomDuNouveauNoeud As String, Ascendants As String)
'       La listes des ascendants est créée du plus bas au plus haut à partir des noms
'       des noeuds séparés par un espace.
'       Si les noeuds intermédiaires n'existent pas, ils sont créés

' -- SupprimerNoeud(Ascendants As String)
'
' -- EcrireValeur(Ascendants As String, valeur As String)
'       La listes des ascendants est lue du plus bas au plus haut à partir des noms
'       des noeuds séparés par un espace. Puis le texte est entré. Item est le numéro si plusieurs noeud de même nom.
'       Ecrire une nouvelle valeur efface la précédente.
'
' -- LireValeur(Ascendants As String)
'       De la même façon, indiquer le chemin et l'Item et la valeur est retournée dans LireValeur
'
' -- LireAttribut(Ascendants As String, Attribut As String)
'       De la même façon, indiquer le chemin et l'Item et l'attribut est retournée dans LireAttribut
'
' -- NombreDeNoeudsMultiples( Ascendants As String, Noeud As String, Optional Attribut As String = "")
'       Renvoie le nombre de noeud de même nom et ascendance.
'       Complète aussi les tableaux ListeAttribut (Pour peu qu'on ai donné un nom d'attribut
'       et ListeValeur)

' -- Fermer()
'    Sauve et ferme

' -- Sauver()
'    Sauve

Suite dans le ZIP

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
11
Date d'inscription
jeudi 3 avril 2008
Statut
Membre
Dernière intervention
14 octobre 2010

Ce post m'a été très utile dans mon travail, notamment pour réaliser un parseur qui traite 1 fichier xml très complexe dans sa structure (36 mbit).
J'ai pu réaliser 80% du parsage et à présent 1 blocage survient : Dès que la structure possède 4 niveau de noeuds hiérarchiques, la classe ne parvient plus à restituer les attributs demandés !
J'y réfléchit depuis pas mal de temps, mais sans succès. Si un d'entre vous accède à nouveau à ce post et à une idée sur ce blocage je lui en serait millle fois reconnaissant.
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
si tu demande le ChildNodes (literalement, les noeuds-enfants) de ton doc XML, ok, ca va pas le faire...
mais en demandant les ChildNodes du noeud bTestMode ...

il te listeras les sous-noeuds un par un
Messages postés
9
Date d'inscription
mercredi 15 mars 2006
Statut
Membre
Dernière intervention
20 juin 2008

pour la lecture d'un sous noeuf "ligne de commentaire":
<!-- 1:Test mode / 0:Production mode -->

tu m'a conseillé d'utiliser .ChildNodes mais dand ce cas cela me retourne uniquement la ligne de commentaire du début du fichier XML:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>

mais ne te prend pas la tête ton aide m'a été précieuse. et la lecture des commentaires ne m'est pas indispensable, c'était juste histoire d'aller au bout des utilisations des XML

encore merci
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
j'ai pas pigé:
"mais pour la lecture childnotes je n'arive qu'lire la 1 er ligne de commentaite <?xml version etc..."
Messages postés
9
Date d'inscription
mercredi 15 mars 2006
Statut
Membre
Dernière intervention
20 juin 2008

Encore moi.

pour l'écriture sans éffacer les commentaire c'est bon, nickel merci

mais pour la lecture childnotes je n'arive qu'lire la 1 er ligne de commentaite <?xml version etc...
mais c'est pas grave le principal etant de ne pas perdre les commentaires dés que j'écrivai

encore MerciIIIII beaucoup.
Afficher les 32 commentaires

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.