2013-08-29 94 views
3

我是Windows Phone 8编程新手。我有一个要求,我想在Windows Phone 8中加载一个网页,然后阅读它的HTML内容以进行分析。我目前使用WebBrowser控件导航到预期的URI,但我无法获取其HTML。如何在Windows Phone 8中打开网页并获取HTML?

码 -

WebBrowser browser = new WebBrowser(); 
browser.Navigate(new Uri("http://XYZ.com")); 

注:我没有创造任何Windows Phone应用程序。基本上这是一个单元测试。我想测试一个网站,它可以在Windows Phone 8中的IE中打开。

任何帮助,非常感谢。

在此先感谢。

回答

2

终于得到了解决,但不知道这是否是最有效的方法。

我们需要注册一个事件 - LoadCompleted,然后我们可以调用存储网页的HTML字符串的SaveToString()方法

码 -

private void button1_Click(object sender, RoutedEventArgs e) 
{ 
    Deployment.Current.Dispatcher.BeginInvoke(() => 
     { 
      string site; 
      site = textBox1.Text; 
      webBrowser1.Navigate(new Uri(site, UriKind.Absolute)); 
      webBrowser1.LoadCompleted += webBrowser1_LoadCompleted; 
     }); 
} 

private void webBrowser1_LoadCompleted(object sender, System.Windows.Navigation.NavigationEventArgs e) 
     { 
      string s = webBrowser1.SaveToString(); 
     } 

然后,我们可以转换成字符串到HTML文件应该很容易。

2

对于只是一般的C#,你可以拉的HTML代码到这样一个字符串,然后你就可以通过解析:

WebClient client = new WebClient(); 
String htmlCode = client.DownloadString("http://XYZ.com"); 
+1

感谢马特的回应! 其实,我的意图是在浏览器中加载网页,然后获取HTML。上面的WebClient方法将无济于事。也只是FYI-对于Windows Phone 8,我们需要使用异步方式下载HTML。 – Jash

+0

啊,至少我学到了一些东西。 :P – MattD

0

或者,您可以使用HTTPRequest和HTTPResponse作为安全的方式来测试。

相关问题