如何在HtmlAgilityPack中按类获取div?

时间:2014-04-15 09:39:44

标签: c# windows-phone-8 html-agility-pack

following this tutorial,但我遇到了问题,我不知道怎样按类名获取htmlNode

HtmlDocument htmlDoc = new HtmlAgilityPack.HtmlDocument();
htmlDoc.OptionFixNestedTags = true;
htmlDoc.LoadHtml(e.Result);
HtmlNode divContainer = htmlDoc.GetElementbyId("directoryItems");//My problem here,I want to get by class name html
if (divContainer != null)
{
     HtmlNodeCollection nodes = divContainer.SelectNodes("//table/tr");
     ....
}

2 个答案:

答案 0 :(得分:2)

试试这个:

HtmlNodeCollection divContainer = htmlDoc.DocumentNode.SelectNodes("//div[@class='myClass']");

这将返回一个div节点的集合,其中 class =“myClass”

答案 1 :(得分:0)

假设您要选择具有类属性值等于&#34; directoryItems&#34;的<div>元素,并且您知道只有一个元素符合条件(或者您只想选择如果有多个,则首次出现),您可以使用.SelectSingleNode()方法跟随XPath查询:

HtmlNode divContainer = htmlDoc.DocumentNode
                               .SelectSingleNode("//div[@class='directoryItems']");