Bonjour

J'essaye grace à un Xpath de récupérer 2 attributs associés à un node, en même temps pour les ajouter à un dictionnary de type : listname.add(name, descId) avec
name et descId, deux string.

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
            string path = "C:/spec.xml";       
            XPathDocument doc = new XPathDocument(path);
 
            //string ns = "http://tec/Domain";
            //string attrName;
 
            XPathNavigator nav = doc.CreateNavigator();
 
            XmlNamespaceManager xnsm = new XmlNamespaceManager(nav.NameTable);
            xnsm.AddNamespace("iec", "http://tec/Domain");
 
            XPathNodeIterator nodes = nav.Select("/tec:DomainSpec/tec:Abbreviations/tec:Term/@*", xnsm);
 
            foreach (XPathNavigator item in nodes)
            {
                Console.WriteLine(item.Value);
            }
            Console.ReadLine();
Avec le code précédent j'arrive a récupérer mes deux attributs sur chaque node tec:term
Si je fait un @name je récupère que l'attribut name et de même si je fais un @descId.
J'ai essaye /tec:term[@name AND @descId] ou encore /tec:term/[@name AND @descId], mais ça ne fonctionnement pas.

Mon problème est que je n'arrive pas à dissocier ces deux attributs dans deux strings différents pour les ajouter à mon dictionnary, comme par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
string name = abbreNode.Attributes["name"].InnerText;
 
string descId = abbreNode.Attributes["descID"].InnerText;
 
listname.Add(name, descId);
C'est pourquoi je sollicite votre aide. Merci d'avance.