begin process at 2012 02 16 04:53:11
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriaux

 > MODULE QUI GÈRE LE XML

MODULE QUI GÈRE LE XML


 Information sur la source

Note :
7 / 10 - par 1 personne
7,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriaux Source .NET ( DotNet ) Niveau :Débutant Date de création :25/08/2004 Date de mise à jour :26/08/2004 16:14:09 Vu :16 867

Auteur : dragon

Ecrire un message privé
Site perso
Commentaire sur cette source (8)
Ajouter un commentaire et/ou une note

 Description

à la réponse de plusieurs question sur le forum, voici un module, qui gère le XML de la façon la plus simple possible

faut ajouter une référence sur system.xml.dll

Source

  • Imports System.Xml
  • #Region "Exemple de struture dans le fichier XML"
  • '<?xml version="1.0" encoding="utf-8" ?>
  • '<CalendrierTCC>
  • ' <Aujourdhui>Jour</Aujourdhui>
  • ' <jour>
  • ' <Dimanche>D</Dimanche>
  • ' <Lundi>L</Lundi>
  • ' <Mardi>M</Mardi>
  • ' <Mercredi>M</Mercredi>
  • ' <Jeudi>J</Jeudi>
  • ' <Vendredi>V</Vendredi>
  • ' <Samedi>S</Samedi>
  • ' <test>
  • ' <valeur>test</valeur>
  • ' </test>
  • ' </jour>
  • ' <mois>
  • ' <Janvier>Janvier</Janvier>
  • ' <Fevrier>Février</Fevrier>
  • ' <Mars>Mars</Mars>
  • ' <Avril>Avril</Avril>
  • ' <Mai>Mai</Mai>
  • ' <Juin>Juin</Juin>
  • ' <Juillet>Juillet</Juillet>
  • ' <Aout>Août</Aout>
  • ' <Septembre>Septembre</Septembre>
  • ' <Octobre>Octobre</Octobre>
  • ' <Novembre>Novembre</Novembre>
  • ' <Decembre>Décembre</Decembre>
  • ' </mois>
  • '</CalendrierTCC>
  • #End Region 'Exemple de struture dans le fichier XML
  • Module XML
  • #Region "Variable"
  • Public tableau() As String
  • Private root As XmlNode
  • #End Region 'Variable
  • #Region "Ouverture de fichier"
  • 'Peut-être relatif (../dossier) ou absolu (C:/.....)
  • Public Function openXML(ByVal fichier As String)
  • Dim XMLStruct As New XmlDocument
  • XMLStruct.Load(fichier)
  • root = XMLStruct.DocumentElement
  • End Function
  • #End Region 'Ouverture de fichier
  • #Region "lire un reccord avec le nom de la clé voulu"
  • 'comme dans le fichier XML d'emple, je pourrais demander "Aujourdhui"
  • Public Function lectureXML(ByVal valeur As String) As String
  • Dim temp As String
  • Dim position As Integer
  • temp = root.Item(valeur).InnerText
  • position = InStr(temp, vbCr)
  • If position <> 0 Then
  • Return (Mid(temp, 1, position - 1))
  • Else
  • Return (temp)
  • End If
  • End Function
  • #End Region 'lire un reccord avec le nom de la clé voulu
  • #Region "lire un reccord, mais avec le chemin de clé pour lire la clé voulu"
  • 'comme dans le fichier XML d'emple, je pourrais demander :
  • 'parent(0) = jour
  • 'parent(1) = test
  • 'valeur = valeur
  • Public Function lectureXML(ByVal parent() As String, ByVal valeur As String) As String
  • Dim i As Integer
  • Dim temp As String
  • Dim position As Integer
  • Dim xmlTemp As XmlNode
  • xmlTemp = root.Item(parent(0))
  • If isOpenXML(xmlTemp) Then
  • For i = 1 To UBound(parent)
  • xmlTemp = xmlTemp.Item(parent(i))
  • Next i
  • temp = xmlTemp.Item(valeur).InnerText
  • position = InStr(temp, vbCr)
  • If position <> 0 Then
  • Return (Mid(temp, 1, position - 1))
  • Else
  • Return (temp)
  • End If
  • End If
  • End Function
  • #End Region 'lire un reccord, mais avec le chemin de clé pour lire la clé voulu
  • #Region "Vérifie s'il est déjà ouvert"
  • Public Function isOpenXML(ByVal xmlTemp As XmlNode) As Boolean
  • Dim temp As String
  • Try
  • temp = xmlTemp.InnerText
  • Return True
  • Catch
  • Return False
  • End Try
  • End Function
  • #End Region 'Vérifie s'il est déjà ouvert
  • End Module
Imports System.Xml

#Region "Exemple de struture dans le fichier XML"
'<?xml version="1.0" encoding="utf-8" ?> 
'<CalendrierTCC>
'	<Aujourdhui>Jour</Aujourdhui>
'	<jour>
'		<Dimanche>D</Dimanche>
'		<Lundi>L</Lundi>
'		<Mardi>M</Mardi>
'		<Mercredi>M</Mercredi>
'		<Jeudi>J</Jeudi>
'		<Vendredi>V</Vendredi>
'		<Samedi>S</Samedi>	
'       <test>
'           <valeur>test</valeur>
'       </test>
'	</jour>
'	<mois>
'		<Janvier>Janvier</Janvier>
'		<Fevrier>Février</Fevrier>
'		<Mars>Mars</Mars>
'		<Avril>Avril</Avril>
'		<Mai>Mai</Mai>
'		<Juin>Juin</Juin>
'		<Juillet>Juillet</Juillet>		
'		<Aout>Août</Aout>
'		<Septembre>Septembre</Septembre>
'		<Octobre>Octobre</Octobre>
'		<Novembre>Novembre</Novembre>
'		<Decembre>Décembre</Decembre>
'	</mois>
'</CalendrierTCC>
#End Region 'Exemple de struture dans le fichier XML

Module XML
#Region "Variable"
    Public tableau() As String
    Private root As XmlNode
#End Region 'Variable
#Region "Ouverture de fichier"
    'Peut-être relatif (../dossier) ou absolu (C:/.....)
    Public Function openXML(ByVal fichier As String)
        Dim XMLStruct As New XmlDocument

        XMLStruct.Load(fichier)
        root = XMLStruct.DocumentElement

    End Function
#End Region 'Ouverture de fichier

#Region "lire un reccord avec le nom de la clé voulu"
    'comme dans le fichier XML d'emple, je pourrais demander "Aujourdhui"
    Public Function lectureXML(ByVal valeur As String) As String
        Dim temp As String
        Dim position As Integer

        temp = root.Item(valeur).InnerText
        position = InStr(temp, vbCr)
        If position <> 0 Then
            Return (Mid(temp, 1, position - 1))
        Else
            Return (temp)
        End If
    End Function
#End Region 'lire un reccord avec le nom de la clé voulu

#Region "lire un reccord, mais avec le chemin de clé pour lire la clé voulu"
    'comme dans le fichier XML d'emple, je pourrais demander :
    'parent(0) = jour
    'parent(1) = test
    'valeur = valeur
    Public Function lectureXML(ByVal parent() As String, ByVal valeur As String) As String
        Dim i As Integer
        Dim temp As String
        Dim position As Integer
        Dim xmlTemp As XmlNode

        xmlTemp = root.Item(parent(0))
        If isOpenXML(xmlTemp) Then
            For i = 1 To UBound(parent)
                xmlTemp = xmlTemp.Item(parent(i))
            Next i
            temp = xmlTemp.Item(valeur).InnerText
            position = InStr(temp, vbCr)
            If position <> 0 Then
                Return (Mid(temp, 1, position - 1))
            Else
                Return (temp)
            End If
        End If
    End Function
#End Region 'lire un reccord, mais avec le chemin de clé pour lire la clé voulu

#Region "Vérifie s'il est déjà ouvert"
    Public Function isOpenXML(ByVal xmlTemp As XmlNode) As Boolean
        Dim temp As String
        Try
            temp = xmlTemp.InnerText
            Return True
        Catch
            Return False
        End Try
    End Function
#End Region 'Vérifie s'il est déjà ouvert
End Module

 Conclusion

j'espère que ça en aidera plusieurs.

pour le tableau qu'on doit se servir pour faire un chemin dans le fichier, il se trouve déjà dans la class

Voici un appel de la class


    Public Sub langue(ByVal lang As String)
        Dim mois As Integer
        Patienter.RaisonPatienter(1)
        XML.openXML("XML/TCCCalendrier/" & lang & ".xml")
        ReDim XML.tableau(0)
        XML.tableau(0) = "mois"

        If Combo1.Text <> "" Then
            mois = 0
            While Combo1.Text <> Combo1.Items(mois)
                mois = mois + 1
            End While
        Else
            mois = Month(Now)
        End If
        Combo1.Items.Clear()
        Me.Combo1.Items.AddRange(New Object() {XML.lectureXML(XML.tableau, "Janvier"), XML.lectureXML(XML.tableau, "Fevrier"), XML.lectureXML(XML.tableau, "Mars"), XML.lectureXML(XML.tableau, "Avril"), XML.lectureXML(XML.tableau, "Mai"), XML.lectureXML(XML.tableau, "Juin"), XML.lectureXML(XML.tableau, "Juillet"), XML.lectureXML(XML.tableau, "Aout"), XML.lectureXML(XML.tableau, "Septembre"), XML.lectureXML(XML.tableau, "Octobre"), XML.lectureXML(XML.tableau, "Novembre"), XML.lectureXML(XML.tableau, "Decembre")})
        Combo1.Text = Combo1.Items(mois)
        XML.tableau(0) = "jour"
        Me.lblTxtSem(0).Text = XML.lectureXML(XML.tableau, "Dimanche")
        Me.lblTxtSem(1).Text = XML.lectureXML(XML.tableau, "Lundi")
        Me.lblTxtSem(2).Text = XML.lectureXML(XML.tableau, "Mardi")
        Me.lblTxtSem(3).Text = XML.lectureXML(XML.tableau, "Mercredi")
        Me.lblTxtSem(4).Text = XML.lectureXML(XML.tableau, "Jeudi")
        Me.lblTxtSem(5).Text = XML.lectureXML(XML.tableau, "Vendredi")
        Me.lblTxtSem(6).Text = XML.lectureXML(XML.tableau, "Samedi")
        Me.Command1.Text = XML.lectureXML("Aujourdhui")
    End Sub


 Historique

25 août 2004 14:43:27 :
correction de français, c'est un module et non une class
26 août 2004 16:14:10 :
manquer une référence sur system.xml.dll

 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) RADIOBUTTON EN .NET SUR PLUSIEURS CONTENEURS DIFFÉRENTS
SUPPRIMER LES DOUBLONS D'UNE TABLE (VBA ACCESS)
Source avec Zip Source avec une capture Source .NET (Dotnet) PATRON ITERATEUR, TUTORIAL PATRON 4
Source avec Zip Source avec une capture Source .NET (Dotnet) [VB.NET] FORM AVEC DES SCROLLBARS AUTOMATIQUE
Source avec Zip Source .NET (Dotnet) PATRON OBSERVER, TUTORIAL PATRON 3

 Sources de la même categorie

Source avec Zip DLL PERSONNALISÉ AVEC ÉVÈNEMENTS ET PROPRIÉTÉS EN VB6. par Number7
Source avec Zip Source .NET (Dotnet) EXEMPLE DU TUTORAIL "CLASSES MÉTIER" par Adn56
Source avec Zip Source avec une capture Source .NET (Dotnet) GESTION DES LISTES : RANGEMENT (LIST.SORT) ET FILTRAGE (LIST... par kbalist
Source avec Zip EXEMPLE SUR LES MENUS POUR AIDER LES DÉBUTANTS COMME MOI ;-) par viragoloco
LES OPÉRATIONS DE LA LISTE CHAINÉE par smaili

Commentaires et avis

Commentaire de dragon le 25/08/2004 14:40:38

en passant, le module est seulement pour lire les fichier XML pour écrire, faut prendre le fichier XML comme si c'était un fichier texte, tout ce qui est de plus normal

Commentaire de liquide le 04/10/2004 21:27:49

salut, j'en suis encore a mes débuts, et cette source est la seule que j'ai trouvé sur le XML. Alors bravo.

mais je m'etais laissé dire qu'il existait deja des fonctions integrées la dessus ?

Commentaire de dragon le 04/10/2004 22:46:01

les fonctions sont là, mais dur a controler je trouve, en totu cas, pas assez simple

j'ai donc simplifié le tout

en tout cas, je trouve, puisqu'ajouter u fichier XML, ça me prend 10 secondes maintenant au lieu de fouiller dans les  XmlNode

Commentaire de volatos le 22/12/2004 17:13:08

Bonjour,

Merci pour ce code qui est apparemment est rare à trouver !
J'ai une question bête : comment fait-on pour référencer system.xml.dll ? Où trouve-t-on cette dll ?

Commentaire de dragon le 22/12/2004 18:58:22

elle est avec .Net

dans ton solution explorer tu as Reference

clic droit dessus et add reference
puis cherche system.xml.dll, c'est une référence .Net

fait select ou double clic dessus et c,est fait

Commentaire de devkell le 29/01/2007 13:39:16

Merci pour le code. je vient de le consulter je vais le tester et après vous aurez de ma réponse

Commentaire de F0ra le 12/04/2008 09:45:29

Salut,
Donc c'est quoi ta réponse, après plus d'un an Devkell ?
A ton avis, c'est un bon code source pour le XML ?
Il y a t'il plus simple, etc.. ?
Merci
@+

Commentaire de dragon le 12/04/2008 19:14:17

depuis le framework 2.0 est sorti tout comme le framework 3.5, oui, il est possible de faire plus simple, mais ça va encore fonctionner

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,466 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales