C# 如何在HtmlAlityPack中按类获取元素

C# 如何在HtmlAlityPack中按类获取元素,c#,asp.net,html-agility-pack,C#,Asp.net,Html Agility Pack,您好,我正在制作HttpWebResponse并获取包含所有数据的HtmlPage,例如带有日期信息的表,我需要将它们保存到数组列表并将其保存到xml文件 html页面示例 <table> <tr> <td class="padding5 sorting_1"> <span class="DateHover">01.03.14</span> </td> <td class="padding5 sorting_1">

您好,我正在制作HttpWebResponse并获取包含所有数据的HtmlPage,例如带有日期信息的表,我需要将它们保存到数组列表并将其保存到xml文件

html页面示例

<table>
<tr>
<td class="padding5 sorting_1">
<span class="DateHover">01.03.14</span>
</td>
<td class="padding5 sorting_1">
<span class="DateHover" >10.03.14</span>
</td>
</tr>
</table>
Sow我需要读取这些数据以获取日期01.03.14和10.02.14,以便能够将其保存到数组列表,然后保存到xml文件


你有什么想法吗?我怎样才能得到这个日期01.03.14和10.02.14?

Html Agility Pack支持XPATH,所以你可以这样做:

foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//span[@class='" + ClassToGet + "']"))
{
    string value = node.InnerText;
    // etc...
}

这意味着:从文档顶部首先/递归地第二/获取具有给定CLASS属性的所有SPAN元素。然后,获取每个元素的内部文本。

请参阅HtmlAgilityPack使用XPath语法一节,尽管许多人认为它的文档记录得很差,但在XPath文档的帮助下,我使用它没有任何问题:检查QuerySelector
foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//span[@class='" + ClassToGet + "']"))
{
    string value = node.InnerText;
    // etc...
}