2013-08-29 101 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作爲安全的方式來測試。

相關問題