Bonsoir,

J'ai le petit soucis suivant: je cherche à modifier un enregistrement dans un de mes fichiers XML. Je suis sûr qu'il s'agit d'un petit truc que je fais faux, mais je n'arrive pas à trouver comment corriger la choses.

Voici le code:

Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
public static void EditProject(string oldProjectName, string newProjectName)
        {
            XDocument xmlFile = XDocument.Load(@"./../../Data/" + Program.__ProjectsXMLFile);
 
            XElement XMLParent = xmlFile.Root;
 
            var parents = (from nodes in XMLParent.Elements() where XMLParent.Elements().Equals(oldProjectName) select nodes).SingleOrDefault();
 
            parents.SetValue(newProjectName);
 
            xmlFile.Save(@"./../../Data/" + Program.__ProjectsXMLFile);
 
        }

Le fichier XML ressemble à ceci:

Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<?xml version="1.0" encoding="utf-8"?>
<projects>
  <item id="0">Pif</item>
  <item id="1">Paf</item>
  <item id="2">Pouf</item>
  <item id="3">tutu</item>
</projects>

Je pense que l'erreur doit être dans la requête LINQ to XML car je reçois une erreur du type object not set to an instance...

Quelqu'un voit ou est l'erreur?

Merci bien et bonne soirée : )

L.