à 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 / Exemple :
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
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.