thefolin
-
19 mai 2013 à 21:16
biolo24fr
Messages postés87Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention28 mai 2013
-
21 mai 2013 à 15:16
Bonjour
Je voudrais naviguer dans mon xml avec un bouton et a chaque fois que l'on appuie sur le bouton on change de nœud
Voici un bout de code qui ne marche que pour afficher le premier nœud.
Je pense qu'il faut mette une boucle ou utiliser le xPath :
biolo24fr
Messages postés87Date d'inscriptionjeudi 16 janvier 2003StatutMembreDernière intervention28 mai 20131 21 mai 2013 à 15:16
Salut,
Tu peux utiliser ça :
XmlTextReader reader = new XmlTextReader(@"..\\..\\Employees.xml");
XmlDocument xml = new XmlDocument();
xml.Load(reader);
XmlNodeList xnList = xml.SelectNodes("/Employees/Employee");
{...}
//ensuite avec ton switch par exemple compteur =1 -->0 pour Sam, 1 pour Lucie
XmlNode noeud = xnList.Item(compteur); // on récupère le deuxième noeud Lucie
this.lbl_question.Text = noeud.SelectNodes("Name").Item(0).InnerText; //Valeur
-----------------------------------------------------------------------------------------------------------
De tous ceux qui n'ont rien à dire, les plus agréables sont ceux qui se taisent.
Whismeril
Messages postés19024Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention18 avril 2024656 20 mai 2013 à 00:08
Bonsoir,
perso je chargerais tout dans une List<T> avec Linq un peu comme tu fais, d'une classe adaptée à tes contacts.
J'utiliserais cette liste en datasource d'un objet databindingsource et me servirais des boutons pour naviguer dans cet objet.
Enfin si tu es en windows form, pour le databindingsource.
Je suis bien en windows form. Merci de ta réponse je vais voir pour les List<T>.
Mais liste en datasource d'un objet databindingsource ne va pas correspondre a ma solution.
Je veux simplement afficher le xml dans un label comme je vais recevoir plein de fichier xml via mon serveur.
J'ai un peu avancé je vais mettre un switch avec un compteur.
Le compteur le voici
switch (compteur)
{
case 1:
//ici il faut que je met du code qui va lire la valeur du premier nœud
break;
case 2:
//ici il faut que je met du code qui va lire la valeur du second nœud
break;
}