希望有人能帮助我。HtmlAgilityPack和选择节点和子节点
Let's说我有一个包含多个div像这样的例子一个html文件:使用HtmlAgilityPack得到html文件
<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>
I'm。我需要知道的是,如何获得每个“search_hit”-div的跨度?
我首先想到的是这样的:
foreach (HtmlAgilityPack.HtmlNode node in doc.DocumentNode.SelectNodes("//div[@class='search_hit']"))
{
foreach (HtmlAgilityPack.HtmlNode node2 in node.SelectNodes("//span[@prop]"))
{
}
}
每个div都应该是一个对象附带的跨度为属性。 I. e。
public class Record
{
public string Name { get; set; }
public string company { get; set; }
public string street { get; set; }
}
,并且该列表应然后填充:
public List<Record> Results = new List<Record>();
但使用XPath i'm不是在做它应该做的子节点的搜索。它接触到它一次又一次搜索整个文档。
我的意思是我已经得到它的工作方式,我只是得到整个页面的跨度。但是,我没有跨度和divs之间的关系。意思是:我不知道哪个跨度与哪个div有关。
有人知道解决方案吗?我已经玩了很多,我现在完全混淆:)
任何帮助表示赞赏!
请参阅我对解析代码的方法(完整工作解决方案)的回答。 – 2013-02-22 07:16:58