以前はhtml agility packを使用していましたが、少し試行錯誤しても良い結果が得られました。私は現在、XPathを使ってノードセットを返すためにこれを使用しようとしています。これは、Firefoxで「XPathをコピー」を右クリックすることによって得られます。私はいくつかの検索をしており、ブラウザーがテーブルタグに "tbody"を追加することが多いことがわかります。私は運がないとこれを削除してそれを試してみました。ここでのFirefoxで私に与えられたXPathは次のとおりです。C#/ Htmlアジリティパックエラー "値はnullにはできません。パラメータ名:ソース"
/html/body/p[3]/table/tbody/tr/td/table/tbody/tr[3]
それをAS-使用され、エラーがスローされます:「値はnullにすることはできません。パラメータ名:ソース」
これはライン上で発生します。
nodeList = htmlDoc.DocumentNode.SelectNodes("/html/body/p[3]/table/tbody/tr/td/table/tbody/tr[3]").ToList();
これは誰でも簡単に解決できる場合は、私はまだ読んでいますが、私はヒントをいただきたいと思います。
更新:SelectNodes
方法は、XPath式でノードを見つけることができなかった場合、
nodeList = htmlDoc.DocumentNode.SelectNodes("/html/body/p[3]/table/tbody/tr/td/table/tbody/tr[3]").ToList();
事がある:このエラーは、この行で発生しそうです
protected override List<IDataPoint> ReturnDataPointsFromIndividualAddressString(string AddressString)
{
List<IDataPoint> earningsAnnouncements = new List<IDataPoint>(); //Not used, yet..
HtmlWeb hwObject = new HtmlWeb();
HtmlDocument htmlDoc = hwObject.Load(AddressString);
if (htmlDoc.DocumentNode != null)
{
List<HtmlNode> nodeList = new List<HtmlNode>();
nodeList = htmlDoc.DocumentNode.SelectNodes("/html/body/p[3]/table/tbody/tr/td/table/tbody/tr[3]").ToList();
}
}
あなたは、このエラーの原因となるコードを投稿してもらえますか? – Alex
確かに、元の投稿を更新します。 – StatsViaCsh