Ваши данные уже выглядят как правильно сформированный XML.Если вы анализируете страницы XHTML, то, возможно, вам не помешает классы System.Xml
.NET Framework.Например, чтобы загрузить ваши данные в XElement
, вы можете использовать:
XElement xElement = XElement.Parse(@"
<div id=""list"">
<div class=""list1"">
<a href=""example1.com"" class=""href1"" >A1</a>
<a href=""example4.com"" class=""href2"" />
</div>
<div class=""list2"">
<a href=""example2.com"" class=""href1"" >A2</a>
<a href=""example5.com"" class=""href2"" />
</div>
<div class=""list3"">
<a href=""example3.com"" class=""href1"" >A3</a>
<a href=""example6.com"" class=""href2"" />
</div>
<div class=""list3"">
<a href=""example4.com"" class=""href1"" >A4</a>
<a href=""example6.com"" class=""href2"" />
</div>
<div class=""list3"">
<a href=""example5.com"" class=""href1"" >A5</a>
<a href=""example6.com"" class=""href2"" />
</div>
<div class=""list3"">
<a href=""example6.com"" class=""href1"" >A6</a>
<a href=""example6.com"" class=""href2"" />
</div>
<div class=""list3"">
<a href=""example3.com"" class=""href1"" >A7</a>
<a href=""example6.com"" class=""href2"" />
</div>
</div>");
Затем выбрать элементы с третьего по пятый <a>
, чей атрибут class
имеет значение href1
, используйте:
var links = xElement.XPathSelectElements("//a[@class='href1']").Skip(2).Take(3).ToList();
Если, с другой стороны, у вас есть экземпляр HtmlAgilityPack.HtmlDocument
, вы можете выполнить запрос XPath, используя:
HtmlNodeCollection links = htmlDoc.DocumentNode.SelectNodes("//a[@class='href1']");
var links3to5 = links.Cast<HtmlNode>().Skip(2).Take(3).ToList();