Less.Html 示例一:获取嵌套元素中的正确内容

来源:互联网 发布:重庆微信网络推广 编辑:程序博客网 时间:2024/05/29 15:01

这个示例来源于这个帖子 http://bbs.csdn.net/topics/392175840,需要获取内容的 html 如下:

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

楼主通过循环 td 元素的方式来获取内容,但是因为学号的内容是嵌套在 td 的 table 里面的,会被获取到两次。

如果使用 Less.Html,可以这样写:

foreach (Element i in q("td")){    if (!q(i).find("table").hasElement)    {        Console.WriteLine(i.textContent);    }}

代码是很简短的,同样是循环,在循环里面检查一下 td 是否有嵌套的 table 就行了。Less.Html 最大程度上模仿了 jQuery 的语法,为查找元素提供更多的便利。运行结果如下:

我原来在帖子的回答中,并没有处理重复的学号,现在更正这一点。

本示例代码:GitHub    码云