Bonjour,

J'ai plusieurs fichier XML qui sont de la structure 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
<?xml version="1.0" encoding="utf-8" ?>
<sub-domain category="01A">
  <category ID="01A01">
    <name ID="01A01">du texte</name>
    <name ID="01A01-01">du texte</name>
    <name ID="01A01-02">du texte</name>
    <name ID="01A01-03">du texte</name>
    <name ID="01A01-04">du texte</name>
    <name ID="01A01-05">du texte</name>
  </category>
  <category ID="01A02">
    <name ID="01A02">du texte</name>
    <name ID="01A02-01">du texte</name>
  </category>
Pour charger ce fichier afin de pouvoir le parcourir, j'effectue les opérations suivantes:

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
22
String xmlFile = "./areas/" + selDomain + "/" + selSubDomain + ".xml";
            xmldoc = new XmlDocument();
            xmldoc.Load(Server.MapPath(xmlFile));
            XPathNavigator xmlNav;
            XmlNodeList xmlnode = xmldoc.GetElementsByTagName("category");
 
            //the list coutaining sub items in "category" node (with size = total of all "category" nodes
            ArrayList [][] xmlItems = new ArrayList[xmlnode.Count][];
 
            //Page.FindControl("form1").Controls.Add(gdView);
            displaytexte = "<br />";
            for (int i = 0; i < xmlItems.Length; i++)
                {
                    foreach (XmlNode currentXMLNode in xmlnode.Item(i).ChildNodes)
                    {
                        xmlNav = currentXMLNode.CreateNavigator();
                        while (xmlNav.HasChildren)
                        {
                            //du code: je suis bloqué juste à l'étape au dessus :/;
                         }
                    }
                 }
J'ai regardé dans la doc, et je sais qu'il faut utiliser un XPathNavigator pour pouvoir effectuer une itération sur des données au formats XML, mais je n'arrive pas à utiliser l'itérateur que j'ai créer pour prendre les childnotes et récupérer leur valeurs :/

Si quelqu'un pourrait m'aider avec XPath, merci bien !

L.