根据文本获取节点类型

时间:2013-11-21 06:08:16

标签: c# html-agility-pack

我有一个HTML结构,我希望根据文本找到标签类型,即包含类似"课程内容的字符串的标签。"我有以下HTML结构:

<tr>
    <td colspan="2">
        <h3>
            Course Contents
        </h3>
    </td>
</tr>

这是我的代码:

HtmlNode ContentNode = CourseDoc.DocumentNode.Descendants().Where((n => n.InnerText.Trim().ToLower() == "course contents")).FirstOrDefault();

那么,我如何获得包含字符串的h3标记?

另外我想在这个HTML下面找到类似的h3标签。这是一个例子:

 <tr>
        <td colspan="2">
            <h3>
                Course Contents
            </h3>
        </td>
       <td>
         abc
       </td>
    </tr>
 <tr>
        <td colspan="2">
            <h3>
                Course Outline
            </h3>
        </td>
    </tr>

当我找到第一个h3标签时,然后通过代码找到第二个h3标签,并在这些标签之间检索HTML。

1 个答案:

答案 0 :(得分:0)

如果您使用InnerHtml代替InnerText,则您在查询中选择的节点将是<h3>代码:

HtmlNode ContentNode = CourseDoc.DocumentNode.Descendants().Where((n => n.InnerHtml.Trim().ToLower() == "course contents")).FirstOrDefault();