牛、豚、鶏、どれか一つ食べられなくなるとしたら?

C#初心者です。HtmlAgilityPackでHtml内の文字を読み込もうとしたのですがエラーがでます。

使ったサンプルコード
http://news.mynavi.jp/articles/2009/12/15/htmlag …

エラー
http://gyazo.com/6cda832ce62ab5221a71aed34bf71b81

A 回答 (2件)

nodesがNULLじゃね?


とか言われているようですが……。
.NET Frameworkのランゲージパックをインストールするとエラーメッセージが日本語で表示されるかと。

で……「使ったサンプルコード」のままだとすると、指定されたページにid="todayRanking"になっているものがないのでしょう。
# ブラウザで表示し終わった後、ソースを表示してtodayRankingで検索してもヒットしませんし。
元記事が2009年のものですから、ページのデザインなどが変わった影響でタグが見つからないのでしょう。

HtmlAgilityPack.HtmlNode.SelectNodes(System.String)の戻り値が…XMLで記述されているヘルプ(?)によると……
An HtmlAgilityPack.HtmlNodeCollection containing a collection of nodes matching the HtmlAgilityPack.HtmlNode.XPath query, or null if no node matched the XPath expression.
引数で指定したノードが発見できない場合はnullを返却する。と書かれているように読めます。
    • good
    • 0

nodes変数の中身がnullだから、foreach()で回せないと言っています。


恐らく直前でXPathによってノード情報(HtmlNodeCollection)を取得しようと見受けられますが、その指定方法に誤りがないかどうか確認してください。

また、求めているwebページのHTMLは正しく取得できていますか?
サイトによっては求めているwebページを返さない場合があります。
デバッグで1つ1つ潰して行ってください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報