我有一个如下的html表:
<table>
<caption>Table 2</caption>
<tr><td>hd1</td><td>hd2</td></tr>
<tr><td>val01</td><td>val02</td></tr>
<tr>
<td colspan="2">
<table>
<caption>Subtable 2</caption>
<tr><td>subval01</td><td>subval02</td></tr>
</table>
</td>
</tr>
</table>
修改 这是我的代码:
foreach (HtmlNode rows in htmltable.SelectNodes("tr"))
{
DataRow dr = dt.NewRow();
int iRow = 0;
if (!rows.InnerHtml.Contains("<caption>"))
{
foreach (HtmlNode cell in rows.SelectNodes("td"))
{
iRow++;
dr[iRow] = cell.InnerText;
}
}
dt.Rows.Add(dr);
}
我的代码将<caption>
识别为行并选择它。
解析时我不知道如何跳过标题。所以我只能解析行。Skip(1)
方法对我不起作用。
答案 0 :(得分:0)
如果我理解正确,您希望跳过<tr>
后代节点<caption>
(外<tr>
标记内的最后<table>
)。在这种情况下,我们可以使用XPath仅选择不<tr>
的{{1}},如下所示:
<caption>