IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

lire des donnees dans un fichier xml


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 68
    Par défaut lire des donnees dans un fichier xml
    Bonjour,
    J'essaie d'importer des données depuis un fichier xml que voila:
    ---- presets ----.xml

    J'ai déclaré des class comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Salut

    N'aurais tu pas une , (virgule) de trop à la ligne précédente (29)?
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 68
    Par défaut
    Merci d'avoir répondu.
    Effectivement il y avait une virgule en trop mais maintenant presque tout est souligné en rouge et l'erreur est "impossible de convertir une valeur de type 'List(of Les_Presets)' en 'Les_Presets'."Nom : Capture3.JPG
Affichages : 167
Taille : 198,3 Ko

    Des idées ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 68
    Par défaut
    J'ai trouvé, il y avait une virgule en trop et une class mal faite

Discussions similaires

  1. Enregistrer des donnees dans un fichier XML
    Par doudoubens dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 06/03/2009, 01h21
  2. Ecrire & Lire des énumérés dans un fichier Texte
    Par WebPac dans le forum Langage
    Réponses: 8
    Dernier message: 18/06/2008, 10h04
  3. Mettre des donnees dans un fichier Excel
    Par Mouawad dans le forum C++Builder
    Réponses: 6
    Dernier message: 07/10/2004, 14h55
  4. [debutant] preservation des espace dans un fichier xml
    Par Eric B dans le forum XML/XSL et SOAP
    Réponses: 7
    Dernier message: 03/09/2003, 09h43
  5. Lire un attribut dans un fichier XML en C++
    Par ti.k-nar dans le forum XML
    Réponses: 2
    Dernier message: 14/10/2002, 15h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo