【发布时间】:2015-06-21 02:57:42
【问题描述】:
我正在尝试使用 div 列表中的 HtmlAgilityPack 子元素进行抓取。最父级的 Div 是 //div[@class='cell in-area-cell middle-cell'] 如果我简单地遍历列表,我可以显示每个父级的所有子内容.
但我不想显示所有内容,我想从每个孩子中挑选某些 div、p 和 a,但下面的代码只给了我第一个 //a 的列表[@class='listing-name']。它给了我正确数量的 lstRecords,但它们都具有相同的值。
这是我的代码:
型号:
public class TempSearch
{
public string listing_name { get; set; }
}
查看:
@model List<tempsearch.Models.TempSearch>
@foreach (var ps in Model)
{
<h4>@Html.Raw(ps.listing_name)</h4>
}
控制:
public ActionResult TempSearch()
{
string html = Server.MapPath("~/Content/tempsearch.html");
HtmlWeb web = new HtmlWeb();
HtmlDocument document = web.Load(html);
List<TempSearch> lstRecords = new List<TempSearch>();
foreach (HtmlNode node in document.DocumentNode.SelectNodes("//div[@class='cell in-area-cell middle-cell']"))
{
TempSearch tempSearch = new TempSearch();
HtmlNode node2 = document.DocumentNode.SelectSingleNode("//a[@class='listing-name']");
tempSearch.listing_name += node2.InnerHtml.Trim();
lstRecords.Add(tempSearch);
}
return View(lstRecords);
}
我猜这与我填充列表的方式有关?
【问题讨论】:
标签: asp.net-mvc html-agility-pack