如何用C#和html-agility-pack获取html文件中的表的数量 [英] How to get the count of tables in an html file with C# and html-agility-pack
本文介绍了如何用C#和html-agility-pack获取html文件中的表的数量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何使用C#和html-agility-pack来计算html文件中的表格?
(我将需要根据表的数量从html文件中的特定表中获取值,然后对检索到的值执行一些计算。)
p>以下是一个包含三个表格的示例文件,方便您阅读:
< ; HTML>
< head>
< title>表< / title>
< / head>
< body>
< table border =1>
< tr>
< th>名称< / th>
< th>电话< / th>
City< / th>
< th> Number< / th>
< / tr>
< tr>
< td> Scott< / td>
< td> 555-2345< / td>
< td>芝加哥< / td>
< td> 42< / td>
< / tr>
< tr>
< td> Bill< / td>
< td> 555-1243< / td>
< td>底特律< / td>
< td> 23< / td>
< / tr>
< tr>
< td> Ted< / td>
< td> 555-3567< / td>
< td>哥伦布< / td>
< td> 9< / td>
< / tr>
< / table>
< p>< / p>
< table border =1>
< tr>
< th>名称< / th>
年份< / th>
< / tr>
< tr>
< td>亚伯拉罕< / td>
< td> 1865< / td>
< / tr>
< tr>
< td> Martin< / td>
< td> 1968< / td>
< / tr>
< tr>
< td> John< / td>
< td> 1963< / td>
< / tr>
< / table>
< p>< / p>
< table border =1>
< tr>
< th>动物< / gt;
< th>位置< / th>
< th> Number< / th>
< / tr>
< tr>
< td> Tiger< / td>
< td>丛林< / td>
< td> 8< / td>
< / tr>
< tr>
< td> Hippo< / td>
< td> River< / td>
< td> 4< / td>
< / tr>
< tr>
< td>骆驼< / td>
< td>沙漠< / td>
< td> 3< / td>
< / tr>
< / table>
< / body>
< / html>
如果您愿意,请显示如何将结果发送到新的文本文件。
谢谢!
解决方案
HtmlDocument doc = new HtmlDocument();
doc.Load(myTestFile);
//递归获取所有TABLE元素
int count = doc.DocumentNode.SelectNodes(// table)。Count;
//输出到文本文件
File.WriteAllText(output.txt,count.ToString());
This is a newbie question so please provide working code.
How do I count the tables in an html file using C# and the html-agility-pack?
(I will need to get values from specific tables in an html file based on the count of tables. I will then perform some math on the values retrieved.)
Here is a sample file with three tables for your convenience:
<html>
<head>
<title>Tables</title>
</head>
<body>
<table border="1">
<tr>
<th>Name</th>
<th>Phone</th>
<th>City</th>
<th>Number</th>
</tr>
<tr>
<td>Scott</td>
<td>555-2345</td>
<td>Chicago</td>
<td>42</td>
</tr>
<tr>
<td>Bill</td>
<td>555-1243</td>
<td>Detroit</td>
<td>23</td>
</tr>
<tr>
<td>Ted</td>
<td>555-3567</td>
<td>Columbus</td>
<td>9</td>
</tr>
</table>
<p></p>
<table border="1">
<tr>
<th>Name</th>
<th>Year</th>
</tr>
<tr>
<td>Abraham</td>
<td>1865</td>
</tr>
<tr>
<td>Martin</td>
<td>1968</td>
</tr>
<tr>
<td>John</td>
<td>1963</td>
</tr>
</table>
<p></p>
<table border="1">
<tr>
<th>Animal</th>
<th>Location</th>
<th>Number</th>
</tr>
<tr>
<td>Tiger</td>
<td>Jungle</td>
<td>8</td>
</tr>
<tr>
<td>Hippo</td>
<td>River</td>
<td>4</td>
</tr>
<tr>
<td>Camel</td>
<td>Desert</td>
<td>3</td>
</tr>
</table>
</body>
</html>
If you would, please SHOW how to send the results to a new text file.
Thanks!
解决方案
Something like this:
HtmlDocument doc = new HtmlDocument();
doc.Load(myTestFile);
// get all TABLE elements recursively
int count = doc.DocumentNode.SelectNodes("//table").Count;
// output to a text file
File.WriteAllText("output.txt", count.ToString());
这篇关于如何用C#和html-agility-pack获取html文件中的表的数量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文