Bonjour je me suis appuyé sur le tutoriel de Jean-François Determe pour développé mon application mais voilas je doit écrire un sous nœud avec un attribut et xpath ferme le premier nœud pour écrire le nouveau nœud voici un exemple de mon xml que je voudrais obtenir :
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
23
24
25
26
 
 <?xml version="1.0" encoding="UTF-8"?>
<Membres>
  <Membre id="1">
    <Nom>dudul</Nom>
    <Prenom>lucien</Prenom>
    <Semaine ids="1">
      <Lundi>Null</Lundi>
      <Mardi>Null</Mardi>
      <Mercredi>Null</Mercredi>
      <Jeudi>Null</Jeudi>
      <Vendredi>Null</Vendredi>
      <Samedi>Null</Samedi>
      <Dimanche>Null</Dimanche>
    </Semaine>
    <Semaine ids="2">
      <Lundi>Null</Lundi>
      <Mardi>Null</Mardi>
      <Mercredi>Null</Mercredi>
      <Jeudi>Null</Jeudi>
      <Vendredi>Null</Vendredi>
      <Samedi>Null</Samedi>
      <Dimanche>Null</Dimanche>
    </Semaine> 
      </Membre> //la fermeture du noeud </Membre> et la ou je le veux 
      </Membres>
Voici le code que j obtient lors de l'écriture :
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
23
24
25
26
 
 <?xml version="1.0" encoding="UTF-8"?>
<Membres>
  <Membre id="1">
    <Nom>dudul</Nom>
    <Prenom>lucien</Prenom>
 </Membre>  //mon premier noeud qui se ferme alors que je ne veux pas 
    <Semaine ids="1">
      <Lundi>Null</Lundi>
      <Mardi>Null</Mardi>
      <Mercredi>Null</Mercredi>
      <Jeudi>Null</Jeudi>
      <Vendredi>Null</Vendredi>
      <Samedi>Null</Samedi>
      <Dimanche>Null</Dimanche>
    </Semaine>
    <Semaine ids="2">
      <Lundi>Null</Lundi>
      <Mardi>Null</Mardi>
      <Mercredi>Null</Mercredi>
      <Jeudi>Null</Jeudi>
      <Vendredi>Null</Vendredi>
      <Samedi>Null</Samedi>
      <Dimanche>Null</Dimanche>
    </Semaine> 
      </Membres>
Voici le code c# qui me permet de généré le XML
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
 XmlDocument XmlDoc = new XmlDocument();
            XPathNavigator Navigator;
            XPathNodeIterator Nodes;
            Int32 ID;
            string fichier = "Membres.xml";
            int i;
 
 XmlDoc.Load(fichier);
 
                Navigator = XmlDoc.CreateNavigator();
                 ExpXPath = "//MaxID";
                Nodes = Navigator.Select(Navigator.Compile(ExpXPath));
                Nodes.MoveNext();
                /* On place l'ID le plus élevé du document dans la variable ID */
                ID = Nodes.Current.ValueAsInt;
                /* On incrémente la valeur du noeud MaxID car une fois notre nouveau noeud 
                 * créé, l'ID le plus élevé du document sera aussi incrémenté */
                Nodes.Current.SetValue((ID + 1).ToString());
                /* On se place sur le noeud ayant l'ID le plus élevé */
                ExpXPath = "//Membre[@id='" + ID.ToString() + "']";
                Nodes = Navigator.Select(Navigator.Compile(ExpXPath));
                if (Nodes.Count != 0)
                {
                   Nodes.MoveNext();
                    /* On crée le noeud principal (Membre). */
                    Nodes.Current.InsertElementAfter("", "Membre", "", "");
                    /* On se place sur le noeud ainsi créé. */
                    Nodes.Current.MoveToNext(XPathNodeType.Element);
                    ID++; /* On incrémente ID pour que sa valeur soit identique à celle se
                       * trouvant dans le noeud MaxID. */
                    /* Encodage des données */
                    Nodes.Current.CreateAttribute("", "id", "", ID.ToString());
                    Nodes.Current.AppendChildElement("", "Prenom", "", Customer.m_prenomMembre);
                    Nodes.Current.AppendChildElement("", "Nom", "", Customer.m_nomMembre);
 
                    for (i = 1; i <= 53; i++)
                    {
                        Nodes.MoveNext();
                       Nodes.Current.InsertElementAfter("","Semaine","","");
                        Nodes.Current.MoveToNext(XPathNodeType.Element);
                      Nodes.Current.CreateAttribute("","ids","",Convert.ToString(i));
 
 
 
                        Nodes.Current.AppendChildElement("","Lundi","","Null");
                        Nodes.Current.AppendChildElement("", "Mardi", "","Null");
                        Nodes.Current.AppendChildElement("", "Mercredi", "","Null");
                        Nodes.Current.AppendChildElement("", "Jeudi", "","Null");
                        Nodes.Current.AppendChildElement("", "Vendredi", "","Null");
                        Nodes.Current.AppendChildElement("", "Samedi", "","Null");
                        Nodes.Current.AppendChildElement("", "Dimanche", "","Null");
 
                    }
 
 
 
                    XmlDoc.Save("Membres.xml");
                    return true;
                }
Mon gros souci c est que le nœud <Membre> se ferme alors que j voudrais qu il inclue toute les semaines comme dans le premier exemple
Si quelqu 'un a la solution merci de m'aider car la je bloque