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!