我制作了一个应用程序来查看人们的推文,无论如何,我尝试使用以下代码来解析它
MainViewModel mvm = new MainViewModel();
mvm.Items.Clear();
XDocument xTweets = XDocument.Parse(e.Result);
foreach (var tweets in xTweets.Descendants("status"))
{
ItemViewModel ivm2 = new ItemViewModel()
{
TweetImage = tweets.Element("user").Element("profile_image_url").Value,
TweetSender = tweets.Element("user").Element("screen_name").Value,
Tweet = tweets.Element("text").Value,
};
Items.Add(ivm2);
}
和xaml:
<Image Height="100" Width="100" Source="{Binding TweetImage}" Margin="12,0,9,0"/>
<StackPanel Width="311">
<TextBlock Text="{Binding TweetSender}" TextWrapping="Wrap" Style="{StaticResource PhoneTextExtraLargeStyle}"/>
<TextBlock Text="{Binding Tweet}" TextWrapping="Wrap" Margin="12,-6,12,0" Style="{StaticResource PhoneTextSubtleStyle}"/>
</StackPanel>
应用程序在模拟器上运行一段时间,但在30秒后它返回到WebClientException。我不知道哪一行是错的,调试器没有告诉错误的细节。
答案 0 :(得分:1)
e.Result
很可能是你的错误。我假设您在WebClient完成事件中执行此操作
执行以下操作:
MainViewModel mvm = new MainViewModel();
mvm.Items.Clear();
if (e.Error == null && e.Result != null)
{
XDocument xTweets = XDocument.Parse(e.Result);
foreach (var tweets in xTweets.Descendants("status"))
{
ItemViewModel ivm2 = new ItemViewModel()
{
TweetImage = tweets.Element("user").Element("profile_image_url").Value,
TweetSender = tweets.Element("user").Element("screen_name").Value,
Tweet = tweets.Element("text").Value,
};
Items.Add(ivm2);
}
}