J'essaie d'ajouter tous les noeuds dans un fichier XML dans un ListView, et je fais quelque chose de mal mais je ne peux pas pour la vie de moi comprendre même après avoir regardé une charge d'exemples. Ceci est l'extrait de code XML:C# Foreach Noeud XML
<queue>
<slots>
<slot>
<status>Downloading</status>
<filename>file1</filename>
<size>1 GB</size>
</slot>
<slot>
<status>Downloading</status>
<filename>file2</filename>
<size>2 GB</size>
</slot>
</slots>
</queue>
Et voici le code:
XDocument xDoc = XDocument.Load(xmlFilePath);
List<Download> list = new List<Download>();
foreach (var download in xDoc.Descendants("slots"))
{
string filename = download.Element("filename").Value;
string size = download.Element("size").Value;
string status = download.Element("status").Value;
list.Add(new Download { Filename = filename, Size = size, Status = status });
}
Toute aide grandement appréciée comme toujours.
EDIT: Pour clarifier les choses, je reçois un NullReferenceException sur
string filename = download.Element("filename").Value;
Et je sais que le listview manque, je l'ai pas fait encore peu :)
Utilisez-vous WPF ou Winforms? Je vous vois créer une liste. Comment la liste est-elle liée à la liste? Et qu'est-ce qui ne fonctionne pas? Avez-vous une exception? Est-ce que la liste ne remplit pas? N'y a-t-il rien dans la liste? N'y a-t-il rien dans Decends? – JMarsch
Désolé, je l'ai fait un peu plus clair maintenant! – JoeBeez
Essayez xDoc.Descandants ("slots") à la place –