推文解析@ WP7时的WebClientException

时间:2012-02-07 05:45:54

标签: xml windows-phone-7

我制作了一个应用程序来查看人们的推文,无论如何,我尝试使用以下代码来解析它

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。我不知道哪一行是错的,调试器没有告诉错误的细节。

1 个答案:

答案 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);
    }
}