使用 html agility pack 从表中提取数据

Extract data from table using html agility pack

提问人:Nick_F 提问时间:3/30/2021 最后编辑:Umair MubeenNick_F 更新时间:3/30/2021 访问量:83

问:

我有下表,我想通过匹配 Description_Line_1 和 Description_Line_2 来提取值 Value_1 和 Value_2。

<table id="tableId" class="tableClass">
<tr>
<th class="thClass1">
Description_Line_1
</th>
<td class="tdClass1">
Value_1
</td>
</tr>
<tr>
<th class="thClass2">
Description_Line_2
</th>
<td class="tdClass2">
Value_2
</td>
</tr>
</table>

我想出的代码如下,但它引发了一个空引用异常。

string filename = "TableSample.htm";
HtmlDocument doc = new HtmlDocument();
doc.Load(filename);
var tableNode = doc.DocumentNode.SelectSingleNode("//table[@id='tableId' and class='tableClass']//tr");
var value1 = tableNode.SelectSingleNode(".//th[contains(text(),'Description_Line_1')]/td/text()").InnerText;
异常 html-agility-pack nullreferenceexception

评论

0赞 Umair Mubeen 3/30/2021
这回答了你的问题吗?如何使用 HTML 敏捷包
0赞 Nick_F 3/30/2021
谢谢你的链接。它有帮助,但不如我的代码中的(小?)更正那么多:)
0赞 Nick_F 3/30/2021
我想出了解决方案:var value1 = doc。DocumentNode.SelectSingleNode(“.//tr[./th[contains(text(),'Description_Line_1')]]//td/text()”)。内文本;
0赞 zahra zamani 4/7/2021
也许这个链接会帮助你 stackoverflow.com/questions/655603/...

答: 暂无答案