首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用HtmlAgilityPack获取html表的最后一个<tr>。

使用HtmlAgilityPack获取html表的最后一个<tr>。
EN

Stack Overflow用户
提问于 2013-03-11 20:55:44
回答 3查看 4K关注 0票数 1

我有一个html表格结构。我需要获取最终<tr>标记中第一个<td>的值。这是我的表结构。我需要从下面的函数getFinalNodeValue中得到的值是"3“。

代码语言:javascript
复制
 <table id="test">
            <tr>
                <td>ID</td>
                <td>Name</td>
                <td>Age</td>
            </tr>
            <tr>
                <td>1</td>
                <td>Yasoda</td>
                <td>21</td>
            </tr>

            <tr>
                <td>2</td>
                <td>Samantha</td>
                <td>25</td>
            </tr>

            <tr>
                <td>3</td>
                <td>Sajee</td>
                <td>26</td>
            </tr>

        </table>

下面是我使用HtmlAgilityPack编写的代码。

代码语言:javascript
复制
 public String getFinalNodeValue(String URL)
        {
            var webGet = new HtmlWeb();
            var pageSource = webGet.Load(URL);

            var table = pageSource.DocumentNode.SelectSingleNode("//table[@id='test']//tr[1]");


            string id = null;


            IEnumerable<HtmlNode> trNodes = table.DescendantsAndSelf();

            foreach (var currentItem in trNodes)
            {
                if (currentItem == trNodes.Last())
                {
                    IEnumerable<HtmlNode> tdNodes = currentItem.Descendants();

                    foreach (var x in tdNodes)
                    {
                        if(x == tdNodes.First())
            {
                id = x.InnerText;
            }
            else
            {
                break;
            }
                    }

                }
                else
                {
                    continue;
                }
            }

            return id;

        }

该方法不返回值。任何帮助都是非常感谢的。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15339142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档