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

Windows Forms Discussion :

[c#][XML:xPath] selection d'un noeud


Sujet :

Windows Forms

  1. #1
    Membre éclairé Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Par défaut [c#][XML:xPath] selection d'un noeud
    Salut a tous ,
    si quelqu'un pourrait m'aider je debute en XML , je veux selectionner un noeud pour l'editer avec une condition et je vois pas comment faire .
    mon 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
    <station>
     <defaut>
         <NUM>000</NUM>
         <NOM>BEL</NOM>
     </defaut>
     <admin id = "1">
         <NUM>999</NUM>
         <NOM>BEL</NOM>
     </admin>
     <per id = "1">
         <NUM>998</NUM>
         <NOM>BlaBla</NOM>
     </per>
     <per id = "2">
         <NUM>111</NUM>
         <NOM>LAK</NOM>
     </per>
    </station>
    voila un extrait de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    XmlDocument doc = new XmlDocument();
    doc.Load("Config.xml");
    XmlNodeList node = doc.SelectNodes("TABLE/station/descendant::per[NUM=111]");
    pour le reste ....?
    merci d'avance .

  2. #2
    Membre éclairé Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Par défaut
    au fait j'ai trouvé un tuto . le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    XmlDocument doc = new XmlDocument();
    XPathNavigator Navigator;
    XPathNodeIterator iter;
    doc.Load("Config.xml");
    Navigator = doc.CreateNavigator();
    if (Program.TYPE == 2)
    {
    iter = Navigator.Select(Navigator.Compile("//:per[NUM=111]"));
    }
    iter.MoveNext();
    ça me retourne une erreur , il faut soit que j'enleve if soit j'inclus
    iter.MoveNext() dans la condition (mais j'ai plusieurs conditions) .
    c'est normal ??

  3. #3
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    pour le reste ....?
    Je ne vois pas de problème et de question afin de te répondre. Mais je devine que c'est la requête XPath qui coince.

    Pour la requête XPath, essaye avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlDoc.SelectNodes("//TABLE/station/per[NUM=111]");
    P.S. : ça n'a absolument aucun rapport avec les WinForms, le forum général C# est là pour ça

  4. #4
    Membre éclairé Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Par défaut
    wai wai ,
    j'ai trouvé le tuto le temps entre le 1er message et le 2eme . (on fait des recherche sur google et on oublie notre ami Developpez ) .
    dans ton code comment peut-on se positionner sur le premier noeud fils ??
    merci .

  5. #5
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Le 1er noeud fils ? C'est à dire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XmlNode node = xmlDoc.SelectSingleNode("//TABLE/station/per[NUM=111][1]");
    Ca ?

    Sachant que si la condition est unique, cela revient à la même chose que faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XmlNode node = xmlDoc.SelectSingleNode("//TABLE/station/per[NUM=111]");
    Puisqu'un seul élément sera concerné dans tous les cas.

  6. #6
    Membre éclairé Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Par défaut
    wai wai , mais si je veux positionner sur le 1er noeud fils de <per> (<NUM>) pour le modifier et comment faire pour le midifier ??
    merci

  7. #7
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Un coup de google pour regarder comment manipuler un XML avec la classe XmlDocument, ou bien les cours/tuto de ce site et tu auras une réponse rapide.

    Il faudrait arrêter de demander sans essayer de chercher parfois, surtout lorsqu'il s'agit de sujet pour lesquels la réponse se trouve très très facilement

  8. #8
    Membre éclairé Avatar de bellak
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 325
    Par défaut
    daaacord , merci pour l'aide .

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/03/2010, 13h30
  2. [XPATH] Position d'un noeud par rapport à la racine ?
    Par DemonKN dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 22/10/2008, 18h51
  3. [XPath] Problème de chemin pour selection de certains noeud
    Par baptistoux dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 03/08/2006, 11h34
  4. XML / Xpath -> une solution avec Builder?
    Par say dans le forum C++Builder
    Réponses: 3
    Dernier message: 12/05/2005, 11h56
  5. [XSL] Petit problème de selection d'un noeud
    Par Greg L. dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 25/04/2005, 09h39

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