我使用此代码获取html文档中的所有表格:
var tables = document.DocumentNode.SelectNodes("table[@class='something']");
在每个表中,我有多行和多列。到目前为止我有这样的事情:
HtmlNodeCollection rows = tables[0].SelectNodes(".//TR");
for (int i = 0; i < rows.Count; ++i)
{
HtmlNodeCollection cols = rows[i].SelectNodes(".//TD");
for (int j = 0; j < cols.Count; ++j)
{
string value = cols[j].InnerText;
}
}
我需要帮助才能理解XPATH的使用,因为我无法找到在线文档。例如,如果我的html文档是这样的话,我将如何获取内容:
<table class="something">
<colgroup>...</colgroup>
<thead>
<tr>
<td>...</td>
</tr>
</thead>
<thead>...</thead>
<tbody>
<tr>
<td>...</td>
<td>...</td>
</tr>
<tr>
<td>...</td>
<td>...</td>
</tr>
</tbody>
</table>
我只想要&#34; td&#34;
的内容答案 0 :(得分:1)
使用类“某事物”在td
内获取table
标记的XPath查询是
var nodes = document.DocumentNode.SelectNodes(@"//table[@class=""something""]//td");
这意味着:
//
从当前节点中选择与选择匹配的文档中的节点,无论它们在何处//table[@class="something"]
选择table
个标签,其中class
属性等于文档中任何位置的“内容”。//table[@class="something"]//td
选择td
个标记作为父级,祖父级或大型授权父级table
标记