0

特定のタグを持つ htmlnode を見つけた後、単一のノードを取得しようとしています。しかし、私が返すのはエラーです:

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

コードは次のとおりです。

HtmlWeb htmlWeb = new HtmlWeb();
// Creates an HtmlDocument object from an URL
HtmlAgilityPack.HtmlDocument document = htmlWeb.Load(url);
// Targets a specific node
// If there is no node with that Id, someNode will be null
HtmlNode someNode = document.GetElementbyId("<li name=\"XU\">");
var parseString = someNode.SelectSingleNode("//span[@class='lp']");

私の目的は、XU li タグ内のすべてのノードを取得することです。クラスの名前は知っています。

また、最後のコード行を

var parseString = document.DocumentNode.SelectSingleNode("//span[@class='long-position']");

次に、SelectSingleNode 内のタグ引数が正常に機能しています。

4

2 に答える 2

0

あなたのコードでは...

HtmlNode someNode = document.GetElementbyId("<li name=\"XU\">");

...おそらくnullを返します...次に呼び出します:

var parseString = someNode.SelectSingleNode("//span[@class='lp']");

... someNode が null であるため、その例外がスローされます。

これを試して:

HtmlNode someNode = document.GetElementbyId("XU");

if (someNode != null)
{
    var parseString = someNode.SelectSingleNode("/span[@class='lp']");
    // ...
于 2013-01-18T23:48:47.147 に答える
0
HtmlNode someNode = document.SelectSingleNode("//li[@name='XU']").SelectSingleNode("/span[@class='lp']");
于 2013-01-25T02:14:40.203 に答える