2017-05-03 3 views
0

ich habe diesen HTML Code:C# htmlagility wählen spezifischen XPath

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

Ich verwende den C# -Code unter:

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 
     } 
    } 

so wie man sehen kann ich, wenn die depart Zeit bin Überprüfung (DepartTime) existieren, dann wird der nächste innere Wert des ersten Zeitelements nachher zurückgegeben. aber das scheint nicht zu funktionieren, ich bekomme Ausnahme Null Referenz.

Antwort

0

löste es durch

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