Less.Html 示例一:获取元素中的内容

假设有下面这样一段 html 代码,它是一个常见的数据表格,现在我们要获取单元格里面的内容。

<table>
    <thead>
        <tr>
            <th>姓名</th>
            <th>学号</th>
            <th>学分</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>张三</td>
            <td>201505047</td>
            <td>52</td>
        </tr>
        <tr>
            <td>李四</td>
            <td>201502072</td>
            <td>65</td>
        </tr>
    </tbody>
</table>

很多 html 解析器会使用 XPath 去查找元素,其实 XPath 在 html 的使用上并不是很流行。操作 html 的代码,一般是用 JavaScript 写得多,JavaScript 查找元素一般用的是 css 选择器。css 选择器的做法,来源于 css 样式表,只要你写过前端代码,就不会像使用 XPath 那样要学习一种新的表达方式。Less.Html 就是使用 css 选择器来查找元素的。在这个例子中,可以这样写:

foreach (Element i in q("td"))
{
    Console.WriteLine(i.textContent);
}

Less.Html 最大程度模仿了 jQuery 的语法。我觉得 jQuery 操作 html 文档十分的方便,而且 jQuery 的函数设计符合直觉,学习曲线比较平缓。通俗地说,就是很好上手。当然,在上面这个例子枚举选择的元素的时候,在 JavaScript 里面不能使用 foreach,而要使用 for,foreach 在 JavaScript 里面的应用面很窄。

运行结果如下:

本示例代码:GitHub

粤ICP备15047625号-2