【问题标题】:Scraping html tables in .NET and taking care of colspans在 .NET 中抓取 html 表并处理 colspans
【发布时间】:2011-05-05 07:03:03
【问题描述】:

我正在尝试在我的 .NET 应用程序中抓取 HTML 表格,但是我遇到了在单元格上积极使用 colspan 和 rowspan 属性的表格,这让我很头疼。我想知道是否有可用的库可以将表转换为字符串数组并处理 colspan 例如,如果 TD 元素上的 colspan=5,那么它将使用 TD 的值来处理接下来的 5 个元素

<table>
<tr>
 <td>1</td>
 <td>2</td>
 <td>3</td>
 <td>4</td>
 <td>5</td>
</tr>
<tr>
  <td colspan=4>1</td>
  <td>2</td>
</tr></table>

输出将是以下数组:

[1,2,3,4,5] [1,1,1,1,2]

【问题讨论】:

    标签: c# .net html-parsing html-table


    【解决方案1】:

    您可以使用ParseControl,这将使整个事情变得相当简单,因为您可以访问 Colspan 属性。

    【讨论】:

    • 我可以毫无问题地进行解析,也可以访问属性。我需要的是某种逻辑,它会用值填充缺失的单元格,因此结果数组将是矩形
    • @gyurisc,好吧。你能不能只阅读colspan,并将x个1添加到“行列表”中?即,如果不存在,则为 1,否则为值。例如rowList.AddRange(System.Linq.Enumerable.Repeat(cellValue,cellColspan))
    • 这就是我想要做的。尝试处理rowpsans和colspan,但我认为可能已经有现成的解决方案。
    【解决方案2】:

    您可以将它放在 XmlDocument 中,然后循环遍历它。不确定这是否是最好的解决方案,但它确实有效。 也许是 LINQ to XML?

    【讨论】:

      猜你喜欢
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 2021-03-05
      • 1970-01-01
      • 2014-04-09
      • 1970-01-01
      • 2015-02-04
      • 1970-01-01
      相关资源
      最近更新 更多