Utilisation de xml avec vb lecture ecriture de fichiers xml

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 899 fois - Téléchargée 40 fois

Contenu du snippet

Crée un fichier XML (VB) en local ,
Ouverture de ce fichier avec ADO, Mise à jour d'enregistrements.
Son utilisation est par exemple la récupération de données sur un serveur, leur mise en forme... afin d'éviter de laisser traîner ces données en collection ( liste trop longue donc mémoire dispo réduite) .
Cela évite les allez et retour sur le serveur. Les possibilités de filtrer le fichier etc…
Je mets cette source à votre dispo ( Et votre indulgence, le code est extrait d'une source et simplifié )

Source / Exemple :


Option Explicit

Private Const NomDirTmpXml  As String = "C:\temp\XMLFichier.xml"

Private ObjRecClients            As ADODB.Recordset

Private IdentIDT As Long

Private Sub CreerLeRec()

        Set ObjRecClients = New ADODB.Recordset

        With ObjRecClients.Fields
                .Append ("NumId"), adWChar, 25, adFldRowID
                .Append ("Nom"), adWChar, 65, adFldLong
                .Append ("Prenom"), adWChar, 65, adFldLong
                .Append ("Titre"), adWChar, 60, adFldLong
                ObjRecClients.Open
        End With
        
End Sub

Private Sub AjoutAuRecordSetXml(Nom As String, Prenom As String, Titre As String, Optional MiseAjour As Boolean)
                        
        If MiseAjour Then
                If ObjRecClients Is Nothing Then Set ObjRecClients = OuvreXMLSeul
        End If
        
        With ObjRecClients
                
                IdentIDT = IdentIDT + 1
                
                .AddNew
                .Fields("NumId").Value = CStr(IdentIDT)
                .Fields("Nom").Value = Nom
                .Fields("Prenom").Value = Prenom
                .Fields("Titre").Value = Titre
                
                If MiseAjour Then
                        .UpdateBatch
                         EnregistreXML ObjRecClients
                End If
        
        End With
        
End Sub

Private Sub EnregistreXML(LeRecordSet As ADODB.Recordset)
        
        'Le fichier étant présent dans NomDirTmpXml il est impératif en cas de
        'rechargement complet de supprimer ce fichier avant de le créer.
        
        On Error Resume Next
                Kill NomDirTmpXml
        On Error GoTo 0
        
        'L'option adPersistXML est simplement à préciser
        LeRecordSet.Save NomDirTmpXml, adPersistXML
        LeRecordSet.Close
        Set LeRecordSet = Nothing
        
End Sub

Private Function OuvreXMLSeul() As Recordset
Dim LeRecordSet As New ADODB.Recordset
        
        'Ouvrir tout simplement en passant en param le chemin
        LeRecordSet.Open NomDirTmpXml
        Set OuvreXMLSeul = LeRecordSet
             
End Function

Private Sub Cmdadd_Click()
        AjoutAuRecordSetXml Me.TextNom, Me.TextPrenom, Me.TextTitre, True
End Sub

Private Sub Form_Load()
        CreerLeRec 'En 1°)
        EnregistreXML ObjRecClients ' en 2°) l'enregistrer en local
End Sub

Conclusion :


ce code est extrait d'une de mes sources, il est réduit et simplifié afin d'en expliquer son fonctionnement ( ps : excusez la gesion de l'id : IdentIDT , j'avais rien d'autre en stock ).

A voir également

Ajouter un commentaire

Commentaires

fouad19
Messages postés
1
Date d'inscription
jeudi 2 juin 2005
Statut
Membre
Dernière intervention
20 juin 2005
-
bonjour a tous
j'ai crée un composant dynamique en VB6.0 QUI Va lire a partir d'un fichier XML et afficher les données de ce dernier.
le fichier XML se trouve ds un serveur alors chui obliger à l'exporter au client. je cherche le code VB qui fait l'exportation des fichiers XML
neo1234567890
Messages postés
53
Date d'inscription
mardi 2 avril 2002
Statut
Membre
Dernière intervention
29 mai 2005
-
Salut moi je voudrais lire et enregistrer dans un fichier xml c pour un logiciel de gestion bancaire mais j'avoue que je suis egalement dans la merde un peut beaucoup si tu pe me trouvé un moyen assé simple et qui marche merci d'avance
quickaboy
Messages postés
7
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
2 mai 2005
-
Je suis dans le même cas que emouchet. Et un peu dans la merde, je l'avoue. Sinon, OK pour l'ouverture. Moi, je dois ouvrir un XML, pour enregistrer dans une Base De Données. Gros problème de lecture des champs et des noeuds...
emouchet
Messages postés
12
Date d'inscription
mardi 21 janvier 2003
Statut
Membre
Dernière intervention
16 avril 2004
-
Chez moi ca a l'air de marcher ...
Mais ce que je voudrais faire c'est lire le fichier xml avec un prog vb ... tu dois savoir faire ca ... non?
cs_sensi
Messages postés
6
Date d'inscription
lundi 7 octobre 2002
Statut
Membre
Dernière intervention
18 mars 2003
-
Rien qui amrche , j'ai un datagrid a remplir avec un fichier xml ...
ADODC reconnait pas les connection s a un simple fichier xml ...

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.