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 :
J'ai donc une application toute bete qui charge le fichier (dataset etc ... merci a shimOn<?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>)
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 chercherje vois pas.
Voici où est ce que je veux en venir :
j'arrive bien à quelque chose avec ce code :<?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>Mais bien sur ce n'est pas encore ça
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"); }
il me créer logiquement ce fichier :
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<?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>
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
Partager