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 :

Extraction informations fichier Xml


Sujet :

VB.NET

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Août 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Août 2011
    Messages : 27
    Par défaut Extraction informations fichier Xml
    Bonjour la communauté,

    Je travaille actuellement sur l'extraction de données depuis un fichier Xml. J'ai quelques difficultés pour extraire et stocker dans une variable nommée 'horaires' les informations suivantes :
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
       <Ouverture>
          <PlageJbut="mardi" fin="mardi">
             <PlageHbut="13:30:00" fin="17:30:00"/>
          </PlageJ>
          <PlageJbut="mercredi" fin="jeudi">
             <PlageHbut="09:00:00" fin="12:00:00"/>
             <PlageHbut="13:30:00" fin="17:30:00"/>
          </PlageJ>
       </Ouverture>

    Résultat souhaité (variable horaires) : début="mardi" fin="mardi" début="13:30:00" fin="17:30:00" début="mercredi" fin="jeudi" début="09:00:00" fin="12:00:00" début="13:30:00" fin="17:30:00"

    En vous remerciant par avance de votre retour.

    Thierry

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    Le plus simple pour rester dans la notion Objet, serait d utiliser la Serialization Xml.
    J ai créé un exemple sur mon profil (blog forum : https://www.developpez.net/forums/blogs/260975-wallace1/b1751/serialization-xml/ ).
    Si tu veux serializer des nœuds multiples il faut ajouter une propriété List(of .....) et je crois lire que tu as 2 propriétés à gérer ainsi dans ton xml posté + haut.
    Et j ai répondu à ce genre de sujet également une multitude de fois. Tu devrais pouvoir trouver ton bonheur avec des exemples illustrés.

    Bon codage et si tu as des questions specifiques je serai ravi d y répondre.

    ++

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 169
    Par défaut
    Il aurait été peut être plus clair (plus "base-de-données") de faire une structure du genre:
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <Ouverture>
    <Jour id="mardi">
             <PlageHbut="13:30" fin="17:30"/>
    </Jour>
    <Jour id="mercredi">
             <PlageHbut="09:00" fin="12:00"/>
             <PlageHbut="13:30" fin="17:30"/>
    </Jour>
    <Jour id="jeudi">
             <PlageHbut="09:00" fin="12:00"/>
             <PlageHbut="13:30" fin="17:30"/>
    </Jour>
    ....etc...
    </Ouverture>

    Tu crées
    une classe Plage avec 2 propriétés Début et Fin
    une classe Jour avec une propriété id (string) et une propriété Plages (List(Of Plage))
    Un classe Ouverture avec une propriété Jours (List(Of Jour))
    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
    Public Class Plage
        Property Debut As String
        Property Fin As String
    End Class
    Public Class Jour
        Property id As String = ""
        Property Plages As List(Of Plage)
        Public Sub New()
            Plages = New List(Of Plage)
        End Sub
    End Class
    Public Class Ouverture
        Property Jours As List(Of Jour)
        Public Sub New()
            Jours = New List(Of Jour)
        End Sub
    End Class
    Pour lire le XML:
    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
            Dim xmlDoc As New XmlDocument
            Dim xChapter As XmlElement
     
            Try
                Dim sTables As String = sXML
                xmlDoc.LoadXml(sTables)
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
     
            xChapter = xmlDoc.DocumentElement
            Dim lOuverture As New Ouverture
            For Each noeud As XmlNode In xChapter
                Dim lJour As New Jour With {.id = noeud.Attributes("id").Value}
                Dim lPlages As New List(Of Plage)
     
                For Each noeudfils As XmlNode In noeud.ChildNodes
     
                    Dim lPlage As New Plage With {.Debut = noeudfils.Attributes("début").Value, .Fin = noeudfils.Attributes("fin").Value}
     
                    lPlages.Add(lPlage)
     
                Next
                lJour.Plages = lPlages
                lOuverture.Jours.Add(lJour)
            Next
     
            xmlDoc = Nothing
    Voilà le principe en simplifié. Rajoute les Try/Catch/End Try qui vont bien en cas de mauvais formatage xml etc...

    Amuse toi bien

Discussions similaires

  1. extraction données fichier XML
    Par Pierre95 dans le forum Débuter
    Réponses: 7
    Dernier message: 03/09/2012, 18h15
  2. [Java] Extraction informations fichier texte
    Par toMuch dans le forum Général Java
    Réponses: 3
    Dernier message: 26/01/2011, 09h07
  3. [WD12] Outil extraction informations fichier .FIC
    Par laurentp123 dans le forum WinDev
    Réponses: 1
    Dernier message: 30/08/2009, 20h35
  4. Extraction d'informations à partir d'un fichier xml
    Par ayoubnour dans le forum Langage
    Réponses: 5
    Dernier message: 10/06/2009, 09h54
  5. [XSLT] Extraction de fichiers XML pour traduction XSLT
    Par mhz42 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 23/11/2007, 15h03

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