1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| Imports System.Xml
Module ModuleMain
Sub Main()
Dim groupes As List(Of Groupe) = ExtractionGroupes("test.xml")
For Each groupe As Groupe In groupes
MsgBox(groupe.Name + " - " + groupe.Priority.ToString)
Next
End Sub
'Retourne une liste de Groupe à partir d'un fichier xml
Private Function ExtractionGroupes(ByVal filename As String) As List(Of Groupe)
'nouvelle list
ExtractionGroupes = New List(Of Groupe)
'Lecture
Try
'Ouverture du fichier xml
Dim xmlDoc As New XmlDocument
xmlDoc.Load(filename)
Dim root As XmlElement = xmlDoc.DocumentElement
'Pour chaque groupe du fichier xml..
For Each groupeElem As XmlElement In root.GetElementsByTagName("GROUPE")
'On récupère les données
Dim name As String = groupeElem.Attributes("name").Value
Dim priority As Integer = groupeElem.Attributes("priority").Value
'On crée un nouveau Groupe..
Dim groupe As New Groupe(name, priority)
'.. qu'on ajoute à la list à retourner
ExtractionGroupes.Add(groupe)
Next
'On finit par trier la list
ExtractionGroupes.Sort()
Catch ex As Exception
MsgBox("Erreur concernant la lecture du fichier xml.")
End Try
End Function
End Module |