2012-01-19 10 views
1

にこれは私のsample.html内C#とNullReferenceException私が促したいというgetElementByIdをのHtmlElement

<html> 
    <head> 
     <title>Test</title>  
    </head> 
    <body> 
     <div id="testingID">hello</div> 
    </body> 
</html> 

であると私はC#で、このコードを持っている「ハロー」の世界であるのdiv要素の中でID testingID

private void btnGetData_Click(object sender, EventArgs e) 
    { 
     string url = string.Format("{0}/sample.html", Environment.CurrentDirectory); 
     WebBrowser webb = new WebBrowser(); 

     webb.Navigate(url); 

     var doc = webb.Document; 
     HtmlElement elem = doc.GetElementById("testingID"); 
     MessageBox.Show(elem.InnerText); 
    } 

私は、オブジェクトのインスタンスに設定されていないオブジェクト参照を取得します。 on MessageBox.Show(elem.InnerText);

ここで少し助け..

答えて

4

おそらく、あなたは、要素にアクセスしようとしているが、文書は現時点でロードされていません。 WebBrowser.DocumentCompletedイベントでdoc.GetElementById("testingID");を移動し、それが動作するはずです。

+0

おかげでボス...それは魔法のように動作..:私は:-)を助けることができたD –

+0

うれしいです – Davita

1

「testingID」というIDを持つ要素がドキュメント内に見つからないため、elemがnullであると想定しています。デバッガを実行して、elemがnullでないことを確認してください。また、次のようなものを試してください:

if (elem != null) 
{ 
    MessageBox.Show(elem.InnerText); 
} 
else 
{ 
    MessageBox.Show('No element found!'); 
} 
関連する問題