HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(htmlData); //加载html
HtmlNode documentNode = doc.DocumentNode;
HtmlNodeCollection lister = documentNode.SelectNodes(@"//div[@class='lister']");
foreach (var item in lister) {
HtmlNode dt = item.SelectSingleNode(@"dt");
HtmlNodeCollection aNodes = item.SelectNodes(".//a");
foreach (var a in aNodes) {
Console.WriteLine(dt.InnerHtml+"----"+a.InnerText.Trim()+"----"+a.Attributes["href"].Value);
}
}
如果写的是 item.SelectNodes("//a") 那么这里获取的将是整个htmlData的a标签,
如果要获取的是item的下面的a标签,应该这么写item.SelectNodes(".//a") ,没错就是加一个"."
获取元素的href属性:node.Attributes["href"].Value)