2017-05-03 60 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(); 
     } 
    }