Bonjour,
J'aimerais savoir si il est possible d'utiliser des expressions Xpath pour rechercher des éléments enfants d'un XElement. Je recherche en fait une méthode équivalente à SelectNodes d'un XmlElement mais pour un XElement.
Version imprimable
Bonjour,
J'aimerais savoir si il est possible d'utiliser des expressions Xpath pour rechercher des éléments enfants d'un XElement. Je recherche en fait une méthode équivalente à SelectNodes d'un XmlElement mais pour un XElement.
XElement ? Tu parles de XLinq ? Si c'est le cas c'est dommage d'utiliser XPath alors que Linq permet justement de s'en passer.
oui je parle de linq to xml.
On peut s'en passer, mais c'est lourd à écrire.
Par exemple pour accéder à la balise contenant "Mon texte" dans la hiérarchie suivante :
il faudra écrire :Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 <Root> <Item> ... </Item> <Item> <ArticleList> <Article> ... </Article> <Article> ... </Article> <Article> <Text>Mon texte</Text> </Article> </ArticleList> </Item> </Root>
qui aurait put s'écrire :Code:doc.Root.Elements("Item").ElementAt(1).Descendants("Article").ElementAt(2).Elements("Text").First()
Je trouve ça plus simple.Code:doc.SelectSingleNode("Item[2]//Article[3]/Text");
N'y a t-il pas une méthode d'extension qui permette de faire cela ?
Je pense que tu peux trouver ce que tu veux ici: http://msdn2.microsoft.com/en-us/lib...erview_topic3c
Impeccable ! Merci. :D