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 :

Visual studio utilisation de XElement


Sujet :

Visual Studio

  1. #1
    Candidat au Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mai 2014
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Visual studio utilisation de XElement
    Bonjour,
    pour lire un fichier XML pas très gros, j'ai voulu utiliser un XElement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim elt = XElement.Load("C:\Application\fichier.txt")
    Le fichier a la structure suivante :
    <idcommande>123456</idcommande>
    <datecommande>2015-07-19</datecommande>
    <lignes>
    <article0>
    <ref0>test 0</ref0>
    <designation0>article de test 0</designation0>
    </article0>
    <article1>
    <ref1>test 1</ref1>
    <designation1>article de test 1</designation1>
    </article1>
    </lignes>

    pour lire la valeur des noeuds, j'utilise elt...<nom_balise>.value

    Ce que je souhaite, c'est de pouvoir construire au fur et à mesure de la lecture ma variable nom_balise
    C'est-à dire ne pas être obligée d'écrire elt...<ref0>.value mais mettre dans une boucle :
    name=ref & compteur
    elt...<name>.value

    Est-ce que quelqu'un sait comment faire?

    Merci d'avance pour votre aide.
    Bonne journée

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Est-ce que tu es "maître" du format de fichier XML ? Celui-ci ne respecte en effet pas le principe des fichiers XML. Idéalement, ton fichier devrait ressembler à quelque chose comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <idcommande>123456</idcommande>
    <datecommande>2015-07-19</datecommande>
    <lignes>
    	<article>
    		<ref>test 0</ref>
    		<designation>article de test 0</designation>
    	</article>
    	<article>
    		<ref>test 1</ref>
    		<designation>article de test 1</designation>
    	</article>
    </lignes>
    Ensuite, pour le lire, tu peux facilement utiliser une boucle pour lire chaque article sans te préoccuper du nom de tes balises :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim doc = XDocument.Load(...)
    Dim rootNode = doc.Element(XName.Get("root"))
    Dim ligneNode = rootNode.Element(XName.Get("lignes"))
    Dim articleNodes = ligneNode.Elements(XName.Get("article"))
     
    For Each elem In articleNodes
        Dim refArticle = elem.Element(XName.Get("ref")).Value
        Dim DescriptionArticle = elem.Element(XName.Get("designation")).Value
    Next

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/05/2006, 21h03
  2. Réponses: 6
    Dernier message: 26/04/2006, 15h13
  3. Réponses: 0
    Dernier message: 26/04/2006, 13h01
  4. Probleme d'utilisation de directX 9 avec visual studio.net
    Par cranedoeuf dans le forum DirectX
    Réponses: 1
    Dernier message: 24/05/2004, 04h33

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