1 pièce(s) jointe(s)
lire des donnees dans un fichier xml
Bonjour,
J'essaie d'importer des données depuis un fichier xml que voila:
Pièce jointe 465481
J'ai déclaré des class comme ceci:
Code:
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
| Class PresetPools
Public Property Presets As Les_Presets
Public Property Index As Integer
End Class
Class Les_Presets
Public Property Index As Integer
Public Property Name As String
Public Property SpecialUse As String
Public Property Channels As List(Of Les_Channels)
End Class
Class Les_Channels
Public Property PresetValue As List(Of Les_PresetValue)
End Class
Class Les_PresetValue
Public Property Value As Double
Public Property Embeded As List(Of Les_Embeded) ' quand il y a le noeud HANDLE c'est qu'il y a une preset embeded
Public Property Channel As List(Of Les_Channel)
End Class
Class Les_Embeded
Public Property Name As String
Public Property Numero As List(Of Les_Numero)
End Class
Class Les_Channel
Public Property Fixture_id As Integer
Public Property Attribute_Name As String
End Class
Class Les_Numero
Public Property Num1 As Integer
Public Property Num2 As Integer
Public Property Num3 As Integer
End Class |
puis j'ai codé ces lignes pour récupérer les données:
Code:
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 44 45 46
| Dim MesPresetPool2 As List(Of PresetPools) =
(
From k In xDoc.Descendants("PresetPools")
Select New PresetPools With
{
.Index = k.Attribute("index")?.Value,
.Presets = (From l In k.Descendants("PresetPool")
Select New Les_Presets With
{
.Index = l.Attribute("index")?.Value,
.Name = l.Attribute("name")?.Value,
.SpecialUse = l.Attribute("SpecialUse")?.Value,
.Channels = (From m In l.Descendants("Channels")
Select New Les_Channels With
{
.PresetValue = (From n In m.Descendants("PresetValue")
Select New Les_PresetValue With
{
.Value = n.Attribute("Value")?.Value,
.Embeded = (From p In n.Descendants("Handle")
Select New Les_Embeded With
{
.Name = p.Attribute("name")?.Value,
.Numero = (From q In p.Descendants("No")
Select New Les_Numero With
{
.Num1 = q.Element("No")?.Value' A MODIFIER POUR LES NUM DES PRESETS EMBEDED
}
).ToList(),
}
).tolist(),
.Channel = (From t In n.Descendants("Channel")
Select New Les_Channel With
{
.Fixture_id = t.Element("channel").Attribute("Fixture_Id")?.Value,
.Attribute_Name = t.Element("Channel").Attribute("Attribute_Name")?.Value
}
).ToList()
}
).tolist()
}
).tolist()
}
).tolist()
}
).tolist() |
J'ai une erreur à la ligne 30 du code de ce thread me disant "Le nom du champ ou de la propriété initialisé dans un initialisateur d'objet doit commencer par '.'"
et
"Expression attendue."
Je ne vois pas ce qu'il ne va pas. Pouvez-vous m'aidez?
Merci.