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

Visual Studio Discussion :

Lecture de fichier XML avec VisualStudio 2013


Sujet :

Visual Studio

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2014
    Messages : 3
    Par défaut Lecture de fichier XML avec VisualStudio 2013
    Bonjour,
    tout bêtement, j'essaie de lire un fichier XML dont je connais la structure mais n'étant pas une pro du dév en VB, je galère!
    Fichier xml :
    <commande>
    <idcommande>10999</idcommande>
    <datecommande>2015-07-19</datecommande>
    <lignes>
    <article0>
    <ref0>test 0</ref0>
    <designation0>article de test 0</designation0>
    <prixunitht0>25</prixunitht0>
    <quantite0>1</quantite0>
    </article0>
    <article1>
    <ref1>test 1</ref1>
    <designation1>article de test 1</designation1>
    <prixunitht1>10</prixunitht1>
    <quantite1>2</quantite1>
    </article1>
    </lignes>
    </commande>

    J'ai créé une petite fonction qui renvoie (est censée renvoyer...) la valeur du noeud passé en paramètre :
    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
        Private Function GetNode(pRoot As XmlNode, pNodeName As String) As String
            Dim CpteurNoeud, CpteurEnfant As Integer
            Dim NoeudCour As XmlNodeList
     
            GetNode = ""
            NoeudCour = pRoot.SelectNodes("commande")
     
            'Si le noeud de départ existe => on continue
            If Not NoeudCour Is Nothing Then
                For CpteurNoeud = 0 To NoeudCour.Count - 1
                    If GetNode = "" Then
                        'Si on est sur un noeud simple => on vérifie son nom
                        If Not NoeudCour(CpteurNoeud).HasChildNodes Then
                            'Si on a trouvé le noeud => on récupère sa valeur et on sort
                            If NoeudCour(CpteurNoeud).Name = pNodeName Then
                                GetNode = NoeudCour(CpteurNoeud).InnerXml
                                Exit For
                            End If
                            'Si le noeud a des enfants, on vérifie chaque enfant
                        Else
                            For CpteurEnfant = 0 To NoeudCour(CpteurNoeud).ChildNodes.Count - 1
                                If NoeudCour(CpteurNoeud).ChildNodes(CpteurEnfant).Name = pNodeName Then
                                    GetNode = NoeudCour(CpteurNoeud).ChildNodes(CpteurEnfant).InnerXml
                                    Exit For
                                End If
                            Next
                        End If
                    Else
                        Exit For
                    End If
                Next
            End If
        End Function
    et ma procédure appelante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            Dim readerxml As XmlReader
            readerxml = XmlReader.Create("C:\Applications\TraitementFichierXML\Fichiers\commande_os.txt")
     
            Dim FicXML As New XmlDocument()
            FicXML.Load(readerxml)
     
            Dim root As XmlNode = FicXML.DocumentElement
            Dim test As XmlNodeList
     
            NumeroCommande = GetNode(root, "idcommande")
    dans ma fonction GetNode, "pRoot.SelectNodes("commande")" me renvoie toujours une liste vide...
    est-ce que c'est le fait de passer par un XMLReader?
    Ca fait 2 jours que je suis dessus et là, je craque!!!
    Merci d'avance à ceux qui pourront m'aider.
    Bonne journée.

  2. #2
    Membre à l'essai
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2014
    Messages : 3
    Par défaut
    bon bah en fait, tout simplement avec une XElement.load, je peux atteindre le noeud que je veux...c'est tout bête!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 04/07/2011, 20h55
  2. Lecture de fichier XML avec DOMDocument
    Par DeeVoiD dans le forum Langage
    Réponses: 5
    Dernier message: 31/12/2009, 11h40
  3. [SAX] Lecture de fichier XML avec l'API SAX
    Par SMinet dans le forum Format d'échange (XML, JSON...)
    Réponses: 1
    Dernier message: 20/10/2009, 16h19
  4. Lecture dun fichier xml avec python
    Par merlinerick dans le forum Interfaçage autre langage
    Réponses: 6
    Dernier message: 29/07/2009, 13h49
  5. [DOM4J] Problème de lecture de fichier xml avec dom4j
    Par santana2006 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 05/04/2006, 16h52

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