HtmlAgilityPack y seleccionando Nodos y Subnodos

Espero que alguien pueda ayudarme.

Digamos que tengo un documento html que contiene varios divs como este ejemplo:

<div class="search_hit">

    <span prop="name">Richard Winchester</span>
    <span prop="company">Kodak</span>
    <span prop="street">Arlington Road 1</span>

</div>
<div class="search_hit">

    <span prop="name">Ted Mosby</span>
    <span prop="company">HP</span>
    <span prop="street">Arlington Road 2</span>

</div>

Estoy usando HtmlAgilityPack para obtener el documento html. Lo que necesito saber es cómo puedo obtener los tramos para cada "search_hit" -div?

Mi primer pensamiento fue algo como esto:

foreach (HtmlAgilityPack.HtmlNode node in doc.DocumentNode.SelectNodes("//div[@class='search_hit']"))
{
     foreach (HtmlAgilityPack.HtmlNode node2 in node.SelectNodes("//span[@prop]"))
     {

     }
}

Cada div debe ser un objeto con los intervalos incluidos como propiedades. I. e.

public class Record
    {
        public string Name { get; set; }
        public string company { get; set; }
        public string street { get; set; }
    }

Y esta lista se llenará entonces:

public List<Record> Results = new List<Record>();

Pero el XPATH que estoy usando no está haciendo una búsqueda en el subnodo como debería hacer. Parece que busca todo el documento una y otra vez.

Quiero decir que ya lo tengo funcionando de esa manera que acabo de ver la extensión de toda la página. Pero entonces no tengo ninguna relación entre los vanos y divs. Medios: Ya no sé qué intervalo está relacionado con qué div.

¿Alguien sabe una solución? Ya he jugado un poco que estoy totalmente confundido ahora :)

Cualquier ayuda es apreciada!

Respuestas a la pregunta(5)

Su respuesta a la pregunta