[英]Why can't I use LINQ to get the XML elements in WinRT?
1.我想要什么
从xml文件中获取适当的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.为什么以及如何解决
:(
我认为您所用的变量doc1
实际上是指文档本身。 您将必须执行以下操作:
doc1.Root.Descendants("task")
使它工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.