我已经尝试了数百次以查找这段代码的错误。 它仅通过WIFI起作用,但是当我关闭手机上的WIFI并再次运行该应用程序时,该应用程序会自动关闭,这意味着它抛出了异常。

该应用程序很简单,我使用WebClint()下载HTML源代码并使用HTML Agility Pack对其进行了解析,然后将它们添加到列表中,为每个列表创建每个新闻对象。

我试过捕获异常stacktrace并将其绑定到texblock,它说一些ArgumentOutOfRange异常和Genericlist(int32 index)???

我对此一无所知,它在wifi中很好,但在3G网络中却不行。 有人可以帮忙吗?

    public partial class MainPage : PhoneApplicationPage
{
    string srcHTML;
    HtmlNode UrlNode;
    ObservableCollection<News> newsList = new ObservableCollection<News>();
    List<HtmlNode> headlines;
    HtmlDocument hd;
    News n;
    // Constructor
    public MainPage()
    {
        InitializeComponent();
    }

    private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
    {
        WebClient webClenet = new WebClient();
        webClenet.Encoding = new HtmlAgilityPack.Gb2312Encoding();
        webClenet.DownloadStringAsync(new Uri("http://www.6park.com/news/multi1.shtml", UriKind.RelativeOrAbsolute));
        webClenet.DownloadStringCompleted += new DownloadStringCompletedEventHandler(webClenet_DownloadStringCompleted);
    }


    private void webClenet_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        srcHTML = e.Result;
        GetHeadlinePage(srcHTML);
    }
    private void GetHeadlinePage(string srcHTML)
    {
        hd = new HtmlDocument();
        hd.LoadHtml(srcHTML);
        try
        {

            UrlNode = hd.DocumentNode.ChildNodes[1].ChildNodes[3].ChildNodes[8].ChildNodes["tr"].ChildNodes["td"].ChildNodes["ul"];
            headlines = UrlNode.Descendants("a").ToList();

            foreach (var headline in headlines)
            {

                if (headline.Attributes["href"].Value.Contains("6park"))
                {
                    n = new News();
                    n.NewsTitle = headline.InnerText;
                    n.NewsUrl = headline.Attributes["href"].Value;
                    n.NewsDetails = headline.NextSibling.InnerText.Replace("- ", "新闻来源:") + headline.NextSibling.NextSibling.InnerText + headline.NextSibling.NextSibling.NextSibling.InnerText;
                    newsList.Add(n);
                }
            }
        }

        catch (Exception ex)
        {
            //NewsSource.Text = ex.StackTrace + "\n" + ex.Message;
        }




        NewslistBox.ItemsSource = newsList;
        //NewsHeadlineWebBrowser.NavigateToString(ConvertExtendedASCII(headNews));
    }
}

===============>>#1 票数:0

我将调试传递给GetHeadlinePage()的值。

我怀疑响应因网络而异,或者请求超时,或者您收到其他错误。

我假设对LoadHtml()的调用失败,因为这不在任何异常处理/陷阱内,并且您尚未验证传递给它的值。

  ask by shootmeplz translate from so

未解决问题?本站智能推荐:

1回复

在wp7上将webclient与htmlAgilityPack结合使用以获取从javascript生成的html

我想得到时间表 http://www.21cineplex.com/playnow/sherlock-holmes-a-game-of-shadows,2709.htm 首先,我尝试将webclient与htmlAgilityPack一起使用,并进入表id =“ table-thea
1回复

Winform应用程序随机退出

我有一个随机崩溃的Winform应用程序。 该应用程序使用HtmlAgility的WebClient来解析html页面并从Web服务器下载图像。 我尝试使用Try-Catch,但应用程序没有提供其他异常,可以告诉我导致崩溃的原因,除了“500内部服务器错误”。 这是一些信息。 任何人都可
2回复

使用WebClient加载HTML

我正在尝试下载网页: 有错误 未处理webexception:(403)禁止。 还有其他下载页面的方法吗? 我已经尝试过HtmlDocument类,但是正如我所见,它需要在浏览器中加载网页。
1回复

如何使用PowerShell在Internet Explorer中抓取模态对话框

我正在开发一种PowerShell解决方案,以在SharePoint(2013)网站设置中抓取某些页面,并且在如何引用在抓取期间弹出的ModalDialog方面受困。 有什么建议怎么做? 我正在寻找从输入框中提取数据,然后单击“取消”返回上一页。 调用模式的链接是: 打开模
1回复

HttpWebRequest和WebClient在Windows Phone 7上返回NotFound,但不是普通的控制台应用程序

我正在尝试从Windows Phone 7应用程序中从此URL https://valueboxtest.lb.dk/mobile/categories下载常规JSON字符串。 我曾尝试过使用WebClient和HttpWebRequest。 他们都抛出异常 这是使用WebCli
1回复

Windows Phone 7.x上的Caliburn Micro中的OnActivate事件发生后的奇怪异常

我在激活ViewModel时遇到了一些麻烦。 这种情况: 我有ViewModel的属性,如果field为null,则可以从互联网加载数据: 在加载完成之前,我按Windows按钮。 我看到我的主屏幕 比我按返回按钮。 但是执行OnActivate方法后,我的应用程序崩溃
1回复

在Windows Phone上使用htmlagilitypack解析html表

我可以使用html agilty pack获得网页的html代码。 代码是这个。 现在,我想在Windows Phone屏幕上显示整个表格。 我对Windows Phone不太了解,所以我应该使用TextBlock吗? 我没有运气。 就像我们在asp.net中所做的一样,将数
2回复

在Windows Phone中使用HtmlAgilityPack添加指向图像的链接

我想为HTML中的每个图像添加一个链接,其中“href”属性的值是图像的“src”属性。 即改变了 至 我的代码来了: 那么我应该如何修改我的代码以使其工作? 更新:更新我的代码后: 错误显示“未处理的InvalidOperationException”。
1回复

Windows Phone 7下载多个图像

我正在为Windows Phone 7.5制作类似flexster的应用程序。 我有一段代码想要获取即将上映的电影图片和电影ID。 但是,当我的代码完成后,只有前几张图片会填充在列表框中的“图片”中。 这是我的代码:
1回复

在Windows Phone 7中解析网站

我发现经过一些修改后,我可以使用HTML Agility Pack来解析WP7中的网站。 我可以使用LINQ,但不能使用XPath。 我想问一下是否有其他(也许)更好的方法来解析WP7中的网站,以及是否有一些教程。 谢谢