1.Что Я хочу
получить соответствующие элементы XML из XML-файлаПочему я не могу использовать LINQ для получения элементов XML в WinRT?
XML-
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<tasks>
<task>
<title>Test0001</title>
<due>06/17/2012</due>
</task>
<task>
<title>Test0002</title>
<due>06/17/2012</due>
</task>
<task>
<title>Test0003</title>
<due>06/17/2012</due>
</task>
<tasks>
2.Что I код
Linq блок:
StorageFile file1 = await ApplicationData.Current.LocalFolder.GetFileAsync("BetterTask.xml");
XDocument doc1 = new XDocument();
using (var ReadStream1 = await file1.OpenStreamForReadAsync() as Stream)
{
doc1 = XDocument.Load(ReadStream1);
}
var data = from query in doc1.Descendants("task")
select new mytask
{
title = (string)query.Element("title"),
due = (string)query.Element("due")
};
List<mytask> myTasks = data.ToList();
myTodayListBox.ItemsSource = myTasks;
mytask Класс
public class mytask
{
public string title { get; set; }
public string due { get; set; }
}
3.What Я получаю
Я поставил перерыв на последнем из блока, когда перерыв приложение, я нашел в части Linq:
< 1> кнопка [doc1] полон содержания XML
< 2> но [MyTasks] пусто (кол = 0), ....
4. Почему и как решить
:(
Вы имеете в виду, что 'data' пуст или' myTasks' пуст? 'data' будет пустым, потому что он был перечислим, но все значения должны быть в' myTasks'. – Zooba
Действительно ли это ваш XML? Разве ваш XML не использует пространства имен случайно? – svick
yep, myTasks пуст, его счет = 0 :( –