Voici une partie de ma methode pour chercher un attribut selon une expression
selon l'arboresence 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
21 public static ArrayList SearchXPathNavAttribute(string xPathString, string attribute) try { [...] expr = xpathNavigator.Compile(xPathString); // affecter le manager à l'expression de recherche expr.SetContext(nsmgr); xpathNodeIterator = xpathNavigator.Select(expr); while (xpathNodeIterator.MoveNext()) { // On récupère l'attribut listOfAttributes.Add(xpathNodeIterator.Current.GetAttribute(attribute, "")); } } catch (Exception e) { System.Console.WriteLine(e); } return listOfAttributes }
comment je peux récupèrer les ids des fournisseurs de type ="intern" qui ont le referent name="Client" ref="97".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <racine> <fournisseur id="96" type="intern"> <referents> <referent name="Client" ref="97" /> <referent name="Local" ref="101" /> </referents> </fournisseur > <fournisseur id="80" type="extern"> <referents> <referent name="Client" ref="97" /> <referent name="Local" ref="20" /> </referents> </fournisseur > </racine>
J'ai commencé par l'expression suivante:
Cela est bien sûr fau puisque je suis entrain de chercher l'attribut "id" dans la balise referent et non pas dans fournisseur
Code : Sélectionner tout - Visualiser dans une fenêtre à part fournisseurList = XPathNav.SearchXPathNavAttribute]"/racine/fournisseur[@type = 'intern']/referents/referent[@name = 'Client' and @ref = '97']", "id");
Merci pour votre aide
Partager