Modifier un enregistrement XML avec LINQ to XML
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:
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:
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.