2017-05-03 58 views
0

我有这样的HTML代码:C#htmlagility选择特定的XPath

<div> 
<time class="departure"><span></span>value1<time class="return"> 
<span></span>value2</time> 
</div> 

我使用下面的C#代码:

var nodes = doc.DocumentNode.SelectNodes("//time[@class='departure']"); 
    foreach (var node in nodes) 
    { 

     Console.WriteLine(node.InnerHtml); 
     if (node.InnerText.Trim() == DepartTime) 
     { 
      ReturnTime = node.SelectSingleNode("time").InnerText; //null reference here 
     } 
    } 

所以你可以看到我检查,如果出发时间(DepartTime)存在时,它将返回第一个时间元素的下一个内联值。但这似乎并没有工作,我得到异常null引用。

回答

0

解决它通过

foreach (var node in nodes) 
    { 
     if (node.InnerText.Trim() == DepartTime) 
     { 
      ReturnTime = node.ParentNode.SelectNodes("time")[1].InnerText.Trim(); 
     } 
    }