获取Twitter时间轴作为XML/JSON,显示在Windows 8应用程序
本文关键字:显示 Windows 应用程序 JSON 时间 Twitter XML 获取 | 更新日期: 2023-09-27 17:50:44
我目前正在学习如何在c#中使用LINQ向XML显示Twitter提要的教程。然而,看到微软已经取代了WebClient与HTTPClient,我不确定如何继续我的追求集成到我的Windows 8应用程序。教程:http://www.codeproject.com/Articles/117614/How-to-query-twitter-public-status-using-LINQ-to-X
事情是,我"一半"习惯于DownloadStringCompleted,我认为这不是在HTTPClient api。因此,在搜索了一段时间的async/await功能后,我将我的一些知识与我找到的一些教程和片段混合在一起,但我最终得到的将不起作用:
public async Task<XElement> GetXmlAsync()
{
var client = new HttpClient();
var response = await client.GetAsync("http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=VladimirPutin");
var text = response.Content.ReadAsStringAsync();
return XElement.Parse(text.Result);
XElement xmlTweets = XElement.Parse(text.Result);
listboxTweetsSecond.ItemsSource = from tweet in xmlTweets.Descendants("status")
select new UserTweet
{
UserImageSrc = tweet.Element("user").Element("profile_image_url").Value,
UserMessage = tweet.Element("text").Value,
UserName = tweet.Element("user").Element("screen_name").Value
};
}
(是的,Twitter用户名只是一个占位符)
我不需要一个完整的代码作为答案,但我喜欢它,如果有人能指出我应该从这里走,以及我应该做什么一般,因为这(当然)不工作(在,它不显示任何东西,当我运行它/调试模式)。
注释掉这一行
return XElement.Parse(text.Result);
,它应该可以工作。
这样做(即你不再返回一个XElement),你可能可以改变方法签名顶部返回只是一个任务。
public async Task GetXmlAsync()
{
// method body
}