Bonjour

Oui comme je l'ai précisé c'est plus complexe qu'un simple rajout
Je suis allée dans la MSDN, j'ai trouvé comment rajouter un noeud (appendchild) mais c'est plus complexe que ça en fait ce que je souhaite faire

Alors voici le fichier que j'ai à la base :

<?xml version="1.0"?>

<labanquedusud>
<compte>
<numero_compte>123</numero_compte>
<nom_client>dupont</nom_client>

<operations>

<operation order="1">
<intitule>Virement</intitule>
<debit>0</debit>
<credit>100</credit>
</operation>
<operation order="2">
<intitule>Carrefour</intitule>
<debit>50.80</debit>
<credit>0</credit>
</operation>
<operation order="3">
<intitule>Restaurant</intitule>
<debit>78.10</debit>
<credit>0</credit>
</operation>
<operation order="4">
<intitule>Essence</intitule>
<debit>28</debit>
<credit>0</credit>
</operation>
<operation order="5">
<intitule>SNCF</intitule>
<debit>9.20</debit>
<credit>0</credit>
</operation>

</operations>
</compte>
</labanquedusud>
J'ai donc une application toute bete qui charge le fichier (dataset etc ... merci a shimOn )

Je souhaite rajouter une ligne qui sera en fait le virement de ce compte vers un autre ou d'un autre vers ce compte.
Le montant est entré dans une textbox et les comptes sont choisis dans deux combobox (d'ou les nom de fichiers sans extension )

Je souhaite donc dire a l'ami que je veux rajouter mon noeud apres le order id=5, mais le probleme c'est que j'ai beau chercher je vois pas.
Voici où est ce que je veux en venir :

<?xml version="1.0"?>

<labanquedusud>
<compte>
<numero_compte>123</numero_compte>
<nom_client>dupont</nom_client>

<operations>

<operation order="1">
<intitule>Virement</intitule>
<debit>0</debit>
<credit>100</credit>
</operation>
<operation order="2">
<intitule>Carrefour</intitule>
<debit>50.80</debit>
<credit>0</credit>
</operation>
<operation order="3">
<intitule>Restaurant</intitule>
<debit>78.10</debit>
<credit>0</credit>
</operation>
<operation order="4">
<intitule>Essence</intitule>
<debit>28</debit>
<credit>0</credit>
</operation>
<operation order="5">
<intitule>SNCF</intitule>
<debit>9.20</debit>
<credit>0</credit>
</operation>
<operation order="6">
<intitule>Virement</intitule>
<debit>60</debit>
<credit>0</credit>
</operation>
</operations>
</compte>
</labanquedusud>
j'arrive bien à quelque chose avec ce code :
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
	public void AjouterDataXML(String str, Form1 Feuille1, String montant)
		{
			String debit;
			String credit;
			String Compte = Feuille1.comboBox1.Text;
			String FicEnreg = str;
			XmlNodeList ListeNoeud2;
			XmlDocument XmlDoc = new XmlDocument();
			XmlDoc.Load(str+=".xml");
//			ListeNoeud = XmlDoc.SelectNodes("/labanquedusud/compte");
			ListeNoeud2 = XmlDoc.SelectNodes("/labanquedusud/compte/operations/operation");
 
 
 
			if (str!=Compte)
			{
				credit=montant;
				debit="0";
			}
			else
			{
				credit="0";
				debit=montant;
			}
 
			XmlNode node = XmlDoc.DocumentElement;
			XmlElement element = XmlDoc.CreateElement("Intitule");
			element.InnerText="Virement";
			XmlElement element2 = XmlDoc.CreateElement("Debit");
			element2.InnerText=debit;
			XmlElement element3 = XmlDoc.CreateElement("Credit");
			element3.InnerText=credit;
 
			node.AppendChild(element);
			node.AppendChild(element2);
			node.AppendChild(element3);
 
//			Feuille1.label2.Text = node.LastChild.InnerText;
			FicEnreg = FicEnreg+="2";
			XmlDoc.Save(FicEnreg+=".xml");
 
		}
Mais bien sur ce n'est pas encore ça

il me créer logiquement ce fichier :

<?xml version="1.0"?>
<labanquedusud>
<compte>
<numero_compte>123</numero_compte>
<nom_client>dupont</nom_client>
<operations>
<operation order="1">
<intitule>Virement</intitule>
<debit>0</debit>
<credit>100</credit>
</operation>
<operation order="2">
<intitule>Carrefour</intitule>
<debit>50.80</debit>
<credit>0</credit>
</operation>
<operation order="3">
<intitule>Restaurant</intitule>
<debit>78.10</debit>
<credit>0</credit>
</operation>
<operation order="4">
<intitule>Essence</intitule>
<debit>28</debit>
<credit>0</credit>
</operation>
<operation order="5">
<intitule>SNCF</intitule>
<debit>9.20</debit>
<credit>0</credit>
</operation>
</operations>
</compte>
<Intitule>Virement</Intitule>
<Debit>0</Debit>
<Credit>50</Credit>
</labanquedusud>
Alors voilà je ne sais pas comme lui dire hé ho il faut l'ajouter apres le dernier enfant de operation (LastChild ???) et prendre le order et faire +1

Si vous avez une idée

Merci beaucoup !!


Environnement: Visual Studio .net 2003 fr

Framework: Version 1.1.4322

OS: Microsoft Windows Server 2003 fr