HtmlAgilityPack i wybór Nodes and Subnodes

Mam nadzieję, że ktoś może mi pomóc.

Powiedzmy, że mam dokument HTML zawierający wiele div, takich jak ten przykład:

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

Używam HtmlAgilityPack, aby pobrać dokument HTML. Co muszę wiedzieć to, jak mogę uzyskać rozpiętości dla każdego „search_hit” -div?

Moja pierwsza myśl była następująca:

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

     }
}

Każdy div powinien być obiektem z włączonymi zakresami jako właściwościami. I. e.

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

A ta lista zostanie wypełniona:

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

Ale XPATH, którego używam, nie wykonuje wyszukiwania w podwęzle, jak powinno. Wygląda na to, że cały czas przeszukuje cały dokument.

Mam na myśli to, że już to działa w ten sposób, że dostaję tylko rozpiętości całej strony. Ale wtedy nie mam związku między rozpiętościami i divami. Znaczy: nie wiem już, który zakres jest związany z którym divem.

Czy ktoś zna rozwiązanie? Grałem już tak dużo, że teraz jestem całkowicie zagubiony :)

Każda pomoc jest doceniana!

questionAnswers(5)

yourAnswerToTheQuestion