【问题标题】:Getting text inside table获取表格内的文本
【发布时间】:2012-07-09 13:58:46
【问题描述】:

我有一张这样的桌子。我想从 td 标签之间获取文本 FOO COMPANY。我怎样才能得到它?

<table class="left_company">
    <tr>
        <td style="BORDER-RIGHT: medium none; bordercolor="#FF0000" align="left" width="291" bgcolor="#FF0000">
            <table cellspacing="0" cellpadding="0" width="103%" border="0">
                <tr style="CURSOR: hand" onclick="window.open('http://www.foo.com')">
                    <td class="title_post" title="FOO" valign="center" align="left" colspan="2">
                        <font style="font-weight: 700" face="Tahoma" color="#FFFFFF" size="2">***FOO COMPANY***</font>
                    </td>
                </tr>
            </table>
        </td>
    </tr>
<table>

我正在使用以下代码,但 nS 为空。

doc = hw.Load("http://www.foo.aspx?page=" + j);
foreach (HtmlNode link in doc.DocumentNode.SelectNodes("//table[@class='left_company']"))
{
nS = doc.DocumentNode.SelectNodes("//td[@class='title_post']");
}

【问题讨论】:

    标签: c# asp.net html-parsing html-agility-pack


    【解决方案1】:
    var text = doc.DocumentNode.Descendants()
                    .FirstOrDefault(n => n.Attributes["class"] != null && 
                                    n.Attributes["class"].Value == "title_post")
                    .Element("font").InnerText;
    

    var text2 = doc.DocumentNode.SelectNodes("//td[@class='title_post']/font")
                   .First().InnerText;
    

    【讨论】:

      【解决方案2】:

      关闭:nS = doc.DocumentNode.SelectNodes("//td[@class='title_post']//text()");

      然后您可以打开 nS 节点来检索文本。如果有多个文本节点,则需要遍历它们。

      【讨论】:

        【解决方案3】:

        为字体元素插入一些属性,例如 company="FOO"

        然后使用 jquery 来获取类似的元素

        alert($('font[company="FOO"]').html())
        

        点赞this

        干杯

        【讨论】:

          【解决方案4】:

          您调用的页面可能会使用 JavaScript 生成感兴趣的内容。 HtmlAgilityPack 不执行 JavaScript,因此无法提取内容。确认这一点的一种方法是尝试在关闭脚本的情况下访问页面,并尝试查看您感兴趣的元素是否仍然存在。

          【讨论】:

          • Javascript 只是打开一个页面。我不认为这与 js 有关。
          猜你喜欢
          • 1970-01-01
          • 2014-08-09
          • 2015-09-03
          • 2013-12-10
          • 1970-01-01
          • 1970-01-01
          • 2021-10-20
          • 2019-10-12
          • 1970-01-01
          相关资源
          最近更新 更多