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

C# Discussion :

Comment parcourir partiellement un XML ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Nixar
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 302
    Par défaut Comment parcourir partiellement un XML ?
    Bonjour,
    Je débute en XML, et je ne parviens pas à comprendre comment réaliser une lecture partielle simple. Voici ce que je veux :

    Jai un XML de la forme suivante :

    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
    <noeud1>
        <noeud2>
           <attribut1 />
           <attribut2 />
        </noeud2>
        <noeud3>
           <attribut1 />
           <attribut2 />
        </noeud3>
    </noeud1>
    <noeud4>
        <noeud2>
           <attribut1 />
           <attribut2 />
        </noeud2>
        <noeud3>
           <attribut1 />
           <attribut2 />
        </noeud3>
    </noeud4>
    Je souhaite parcourir uniquement les attibuts et noeuds présents dans "noeud1".

    Quelle est la méthode la plus optimisée possible?

    Merci beaucoup de vos réponses.

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    SelectNodes

  3. #3
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Ce que tu appelles attribut dans le XML fourni sont en fait des noeuds. En XML, un attribut est lié à un noeud, par exemple <noeud attribut="" />.

    Je trouve un peu bizarre la structure de ton XML par contre. Elle ne simplifie pas vraiment les recherches.

  4. #4
    Membre éclairé Avatar de Nixar
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    302
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 302
    Par défaut
    C'est moi qui ai défini la structure selon ce qui me semblait le plus logique par rapport à ce que j'ai pu voir... Mais comme je l'ai dit je débute. Comment pourrais-je l'organiser autrement selon toi?
    Je suis preneur de tout conseil.

    Merci beaucoup.

    Nixar

  5. #5
    Membre émérite
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Par défaut
    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
    <noeud1>
        <noeud2>
           <type>Valeur</type>
           <type2>Valeur</type>
        </noeud2>
        <noeud3>
           <type>Valeur</type>
           <type2>Valeur</type>
        </noeud3>
    </noeud1>
    <noeud4>
        <noeud2>
           <type>Valeur</type>
           <type2>Valeur</type>
        </noeud2>
        <noeud3>
           <type>Valeur</type>
           <type2>Valeur</type>
        </noeud3>
    </noeud4>
    ou encore

    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
    <noeud1>
        <noeud2>
            <type Value="Valeur"/>
            <type2 Value="Valeur"/>
        </noeud2>
        <noeud3>
            <type Value="Valeur"/>
            <type2 Value="Valeur"/>>
        </noeud3>
    </noeud1>
    <noeud4>
        <noeud2>
           <type Value="Valeur"/>
           <type2 Value="Valeur"/>
        </noeud2>
        <noeud3>
            <type Value="Valeur"/>
            <type2 Value="Valeur"/>
        </noeud3>
    </noeud4>

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

    Informations forums :
    Inscription : Octobre 2004
    Messages : 29
    Par défaut XPath
    Effectivement la proposition de shiwn est plutot bien.
    D'autre part essaye de te renseigner sur XPath qui est fort utile pour faire des sélections dans du XML.
    Tu devrais pouvoir trouver pas mal d'exemple sur le net.
    Enfin voici un bout de code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    XmlNodeList nodeList = xmlDoc.SelectNodes("/node_1/node_2");
    foreach(XmlElement item in nodeList)
    {
    }
    dans le selectNodes c'est du XPath:
    Voici un petit assez clair sur les manipulations de XML par XPath:
    http://www.zvon.org/xxl/XPathTutoria.../examples.html

Discussions similaires

  1. Comment lire un fichier XML partiellement
    Par Tamot36 dans le forum VB.NET
    Réponses: 2
    Dernier message: 28/07/2013, 15h07
  2. [SAX] Comment parcourir un fichier xml ?
    Par zemzoum89 dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 03/10/2010, 15h17
  3. Réponses: 2
    Dernier message: 28/09/2006, 09h48
  4. [C#] Comment parcourir un fichier Xml ?
    Par Sebsheep dans le forum C#
    Réponses: 4
    Dernier message: 08/09/2006, 23h20
  5. Réponses: 6
    Dernier message: 14/04/2006, 11h18

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