Html Agility Pack SelectSingleNode dando siempre el mismo resultado en la iteración?

Me gustaría tener los nodos en la colección, pero al iterar SelectSingleNode, sigo obteniendo el mismo objeto, solo el nodo. Id está cambiando … Lo que bash es leer la respuesta web de un sitio determinado y capturar información como valores, enlaces … en elementos especiales definidos.

int offSet = 0; string address = "http://www.testsite.de/ergebnisliste.html?offset=" + offSet; HtmlWeb web = new HtmlWeb(); //web.OverrideEncoding = Encoding.UTF8; HtmlDocument doc = web.Load(address); HtmlNodeCollection collection = doc.DocumentNode.SelectNodes("//div[@itemtype='http://schema.org/Posting']"); foreach (HtmlNode node in collection) { string id = HttpUtility.HtmlDecode(node.Id); string cpname = HttpUtility.HtmlDecode(node.SelectSingleNode("//span[@itemprop='name']").InnerText); string cptitle = HttpUtility.HtmlDecode(node.SelectSingleNode("//span[@itemprop='title']").InnerText); string cpaddress = HttpUtility.HtmlDecode(node.SelectSingleNode("//span[@itemprop='addressLocality']").InnerText); string date = HttpUtility.HtmlDecode(node.SelectSingleNode("//div[@itemprop='datePosted']").InnerText); string link = "http://www.testsite.de" + HttpUtility.HtmlDecode(node.SelectSingleNode("//div[@class='h3 title']//a[@href]").GetAttributeValue("href", "default")); } 

Esto es por ejemplo para 1 iteración:

 
TestName
Test
01.03.13

Al escribir

node.SelectSingleNode("//span[@itemprop='name']").InnerText

es como si estuvieras escribiendo

doc.DocumentNode.SelectSingleNode("//span[@itemprop='name']").InnerText

Para hacer lo que quiere hacer, debe escribirlo así: node.SelectSingleNode(".//span[@itemprop='name']").InnerText .

Esto dot / period dice hacer una búsqueda en el nodo actual que es node lugar de doc