C#HTML Agility Pack dd和dt标签解析问题

| 我正在尝试解析此字段,但无法使其正常工作。当前尝试: HTML:
<div class=\"movie_data\">
<dl>
    <dt><a href=\"http://www.imdb.com/title/tt1302011/\">IMDB</a>:</dt>
    <dd>8.0 / 10</dd>
    <dt>Zvrst:</dt>
    <dd><a href=\"/sl/kino?t=&amp;g=1&amp;actual=1\">komedija</a>, <a href=\"/sl/kino?t=&amp;g=14&amp;actual=1\">animirani</a>, <a href=\"/sl/kino?t=&amp;g=21&amp;actual=1\">družinski</a></dd> 
    <dt>Trajanje:</dt>
    <dd>90 min</dd>
</dl>
</div>
我的代码:
HtmlAgilityPack.HtmlWeb web = new HtmlAgilityPack.HtmlWeb();
HtmlAgilityPack.HtmlDocument htmlDocTusCelje = web.Load(my_link_to); 
HtmlAgilityPack.HtmlNode nodeOcena = htmlDocTusCelje.DocumentNode.SelectSingleNode(\"//div[@class=\'movie_data\']/dt/dd[0]\");
labelOcena.Text = nodeOcena.InnerText;
我只需要解析
<dd>
标记中的内部文本,但是我得到一个例外:
NullReferenceException, Object reference not set to an instance of an object
。 我尝试了
SelectNodes
和一个foreach循环-同样的故事。请帮我解决这个错误。     
已邀请:
        您的xpath有两个问题: 索引应该从1开始,而不是从0开始。 您写的是
dt
而不是
dl
。 如果xpath查询找不到此类节点,它将返回
null
,这在尝试使用
nodeOcena
时导致您的错误。 这似乎可行:
HtmlNode node = doc.DocumentNode.SelectSingleNode(\"//div[@class=\'movie_data\']/dl/dd[1]\");
    

要回复问题请先登录注册