Ajouter les attributs d'une balises XML à une treeview

Fermé
NABZ27 Messages postés 18 Date d'inscription mercredi 1 octobre 2014 Statut Membre Dernière intervention 24 octobre 2014 - 7 oct. 2014 à 14:31
NABZ27 Messages postés 18 Date d'inscription mercredi 1 octobre 2014 Statut Membre Dernière intervention 24 octobre 2014 - 7 oct. 2014 à 14:50
Bonjour,


Je travaille depuis quelques jours sur l'édition des fichiers XML dans une treeview en C#. J'ai réussi à adapter un code ( simple vu que je suis débutant ) qui me permet de lire mon fichier XML dans la treeview.

Cependant, j'arrive pas à modifier le code de telle sorte que je puisse récupérer tout les attributs des balises ( Parents) . En effet, le code récupère uniquement les attributs quand c'est un noeud avec enfant, alors que moi je souhaite qu'il me récupère toujours les attributs.
Mes modification de boucle et de condition me sorent à chaque fois un résultat bizzare

Fonction :
 private void AddNode(XmlNode inXmlNode, TreeNode inTreeNode)
             {


               XmlNode xNode;
                 TreeNode tNode;
                 XmlNodeList nodeList;
                 int i;

                 
                

                 if (inXmlNode.HasChildNodes)
                 {
                  nodeList = inXmlNode.ChildNodes;
             
                     for (i = 0; i <= nodeList.Count - 1; i++)
                     {
                         xNode = inXmlNode.ChildNodes[i];
                         inTreeNode.Nodes.Add(new TreeNode(xNode.Name));
                         tNode = inTreeNode.Nodes[i];
                         AddNode(xNode, tNode);


                         


                    }
                      

                 }
                

                 else
                 {
                     // Here you need to pull the data from the XmlNode based on the
                     // type of node, whether attribute values are required, and so forth.
                     //inTreeNode.Text = inXmlNode.InnerText.ToString();

                     inTreeNode.Text = (inXmlNode.OuterXml).Trim();
                 }   
              } 


Pour récupérer sur l'interface :

        private void button2_Click(object sender, EventArgs e)
        {


         try
            {

            
                 // SECTION 1. Create a DOM Document and load the XML data into it.
                  XmlDocument dom = new XmlDocument();
                  dom.Load(textBox1.Text);

                  // SECTION 2. Initialize the TreeView control.
                  treeView1.Nodes.Clear();
                  treeView1.Nodes.Add(new TreeNode(dom.DocumentElement.Name));
                  TreeNode tNode = new TreeNode();
                  tNode = treeView1.Nodes[0];

                // SECTION 3. Populate the TreeView with the DOM nodes.
                  AddNode(dom.DocumentElement, tNode);
                  treeView1.ExpandAll();
              
            }
            catch (XmlException xmlEx)
            {
                MessageBox.Show(xmlEx.Message);

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            } 
       
       
         }


Merci bcp ... Je galère avec ce début en C# et XML 

A voir également:

1 réponse

NABZ27 Messages postés 18 Date d'inscription mercredi 1 octobre 2014 Statut Membre Dernière intervention 24 octobre 2014
7 oct. 2014 à 14:50
exp fichier xml

<?xml version="1.0" encoding="UTF-8"?>
<category active="0" attribut1="vrai" titre="aaaaaa">
    <valeur  titre="acac">
      <object  background_colour="230" id="0" name="zzzzzz"  type="0">
        <child id="121" x="2" y="0" />
        <child id="131" x="3" y="0" />
      </object>
</valeur>
</<category>


0