Sélectionner un node xml par un de ses attributs
Bonjour,
Je me pose une problématique d'exploitation des données d'un fichier xml.
mon fichier contient plusieurs noeuds du meme nom, chaque noeud étant identifié par un attribut "id" auto incrémenté.
Je souhaite récupérer le contenu de chaque noeud en question ainsi que ses attributs par une boucle de traitement.
Je pensais qu'une clause Where dans une commande LinQ pourrait me permettre de le faire, mais visiblement je reste sur le premier noeud.
Est-ce seulement possible ?
Ci-dessous un example de mon code.
D'avance merci
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
XDocument oBaton = XDocument.Load("mon fichier.xml");
int nombre = oBaton.Root.Elements("streamnode").Count();
for (int i = 0; i < nombre; i++)
{
//create a number of headers and gridviews equal to the number of streamnode nodes
var header = from info in oBaton.Root.Nodes()
where (oBaton.Root.Element("streamnode").Attribute("id").Value) == i.ToString()
select new Infos
{
Header1Name = Convert.ToString(oBaton.Root.Element("streamnode").Attribute("name").Value)
};
Header1.Content = header.First().Header1Name;
} |