C#Htmlアジリティパック(SelectSingleNode)

c# html html-agility-pack parsing

質問

私はこのフィールドを解析しようとしていますが、動作させることはできません。現在の試み:

var name = doc.DocumentNode.SelectSingleNode("//*[@id='my_name']").InnerHtml;


<h1 class="bla" id="my_name">namehere</h1>

エラー:オブジェクト参照がオブジェクトのインスタンスに設定されていません。

助けをお待ちしています。

@ジョン - 私は、HTMLが正しく読み込まれていることを保証することができます。私は学習目的のために私のFacebookの名前を読もうとしています。 Firebugプラグインのスクリーンショットです。私が使用しているバージョンは1.4.0です。

http://i54.tinypic.com/kn3wo.jpg

私は、問題はprofile_nameが子ノードか何かであることだと思うので、それを読むことができません。

人気のある回答

あなたのコードがうまくいかない理由は、ページに<h1 id='profile_name'>タグを実際に書き出しているJavaScriptがあるためです。ユーザーエージェント(またはAJAX経由)からページをリクエストしている場合は、 JavaScriptを実行しないと、要素が見つかりません。

次のセレクタを使用して自分の名前を取得できました:

string name = 
    doc.DocumentNode.SelectSingleNode("//a[@id='navAccountName']").InnerText;


ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ