【问题标题】:htmlagilitypack won't parse a tablehtmlagilitypack 不会解析表格
【发布时间】:2012-12-21 22:11:10
【问题描述】:

我正在尝试从以下链接解析一个简单的数据表:

http://www.tase.co.il/TASE/General/Company/companyHistoryData.htm?subDataType=0&companyID=001390&shareID=01100957

点击左下角的浅绿色提交图片,您将获得表格。表id为:HistoryData1_gridHistoryData_DataGrid1 尝试使用 htmlagilitypack 解析它 - 使用以下代码:

HtmlNode dataTable = document.GetElementbyId("HistoryData1_gridHistoryData_DataGrid1");

HtmlNodeCollection dataTableRow = dataTable.SelectNodes("//tbody/tr");

我得到了一个很脏的html,有351个<TR>标签,但内容甚至不接近表格内容...

【问题讨论】:

  • 链接的 html 似乎不包含任何 ID 为“HistoryData1_gridHistoryData_DataGrid1”的表。此外,//tbody 意味着您从根开始,而不是从当前节点开始。
  • 你可能想要./tbody/tr
  • 太棒了——通过'//'解决了。谢谢:)

标签: c# parsing html-parsing html-agility-pack


【解决方案1】:

代替

 datatable.SelectNodes("//tbody/tr");

使用:

 datatable.SelectNodes("./tbody/tr");

【讨论】:

    猜你喜欢
    • 2016-11-20
    • 1970-01-01
    • 2012-08-28
    • 2022-08-23
    • 2018-10-22
    • 2019-01-26
    • 2015-03-31
    • 2012-09-27
    • 1970-01-01
    相关资源
    最近更新 更多