为什么我的代码在获取xml之前执行?

时间:2012-12-18 14:11:28

标签: c# windows-8 open-graph-beta

我正在开发一个Windows 8 metro应用程序,我正在开发VS Ultimate。

我成功在网页上获取XML,我想用LINQ to XML解析它。 当我使用本地xml文件时,它正在工作,但当我使用我下载的那个不是。我尝试通过打印我得到的xml来调试它,这是正确的。 我认为这是因为我们使用异步方法来获取xml,解析在提取结束之前开始。 有人为我解决了问题吗?我在互联网上检查了很多,但没有什么是真正的帮助。 代码:

XDocument loadedData = new XDocument();
List<Data> listeData = new List<Data>();


var httpResponse = await new HttpClient().GetAsync("http://api.allocine.fr/rest/v3/search?partner=YW5kcm9pZC12M3M&filter=movie,person&count=1&page=1&q=avatar&format=xml");
string sourceCode = await httpResponse.Content.ReadAsStringAsync();
XDocument doc = XDocument.Parse(sourceCode);
listeData = (from query in doc.Descendants("movie")
       select new Data {
              OriginalTitle = (string) query.Element("originalTitle"),
                    Title = (string) query.Element("title"),
                    ProductionYear = (string) query.Element("productionYear"),
                    Cover = (string) query.Element("cover"),
                                        Resume = (string) query.Element("resume")
                    }).ToList();
var group1 = new SampleDataGroup("Group-1", "Tous Mes Films", "", "Assets/icone_groupe_all_movies.jpg",
                                             "Films sur le DD");
foreach (Data dataList in listeData) {
          group1.Items.Add(new SampleDataItem("Group-1-Item-1", dataList.Title, "", dataList.Cover, "",
                                                    dataList.Resume, group1));
}
this.AllGroups.Add(group1);

非常感谢你们!

0 个答案:

没有答案