1.什麼我想
得到適當的XML元素了xml文件爲什麼我不能使用LINQ來獲取WinRT中的XML元素?
的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.什麼我的代碼
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.什麼我得到
我在最後的塊中,當應用程序斷裂,我在LinQ中部分發現的設置中斷:
< 1>的[DOC1]爲整個XML內容
< 2>但[myTasks]是空的(計數= 0),....
4.爲什麼和怎樣解決
:(
你的意思是'data'是空的還是'myTasks'是空的? 'data'將是空的,因爲它已被枚舉,但所有的值都應該在'myTasks'中。 – Zooba
這實際上是你的XML嗎?你的XML有沒有使用命名空間? – svick
是的,我的任務是空的,它的計數= 0 :( –