Estoy tratando de agregar todos los nodos en un archivo XML a ListView, y estoy haciendo algo mal, pero no puedo resolverlo incluso después de mirar una carga de ejemplos. Este es el fragmento de XML:C# Nodo XML de Foreach
<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>
Y aquí está el código:
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 });
}
Cualquier ayuda muy apreciada como siempre.
EDIT: Para aclarar, yo estoy poniendo un NullReferenceException en
string filename = download.Element("filename").Value;
y sé la vista de lista no está, yo no he hecho eso todavía poco :)
¿Está utilizando WPF o Winforms? Veo que estás creando una lista. ¿Cómo está ligada la lista a la vista de lista? ¿Y qué no funciona? ¿Estás recibiendo una excepción? ¿La lista simplemente no está llenando? ¿No hay nada en la lista? ¿No hay nada en Decendents? – JMarsch
¡Lo siento, lo he hecho un poco más claro ahora! – JoeBeez
Pruebe xDoc.Descandants ("slots") en su lugar –