using System;
using System.Collections.Generic;
using System.Text;
//using HtmlAgilityPack;
using System.Data;
namespace Estsh.Core.Util
{
public class HtmlTableParser
{
///
/// 从 HTML 文本中解析 的内容
///
/// HTML文本
/// 表头在Table中的行数,从 0 开始
///
public static DataSet ParseHtmlTable(string htmlContext, int tableHeadIndex)
{
DataSet ds = new DataSet();
// 表头在第几行
int RowHeadIndex = tableHeadIndex;
// 创建 HTML DOM 树对象
//HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
// 加载 HTML 文本
//doc.LoadHtml(htmlContext);
// 当前行计数器
int RowCount = 0;
// 当前列计数器
int CellCount = 0;
// 遍历 DOM 树中的所有 TABLE
//foreach (HtmlNode table in doc.DocumentNode.SelectNodes("//table"))
//{
// DataTable dt = new DataTable(table.Id.ToString());
// RowCount = 0;
// // 遍历行
// foreach (HtmlNode row in table.SelectNodes("tr"))
// {
// DataRow dr = dt.NewRow();
// CellCount = 0;
// // 遍历列
// foreach (HtmlNode cell in row.SelectNodes("th|td"))
// {
// string CellValue = cell.InnerText.Replace(" ", "");
// // 创建表头
// if (RowCount == RowHeadIndex)
// {
// DataColumn dc = new DataColumn(CellValue, typeof(string));
// dt.Columns.Add(dc);
// }
// // 读取表格内容
// else if (RowCount > RowHeadIndex)
// {
// dr[CellCount++] = CellValue;
// }
// else
// {
// // 略过表头之前的内容
// }
// }
// // 加入数据行
// if (RowCount > RowHeadIndex)
// {
// dt.Rows.Add(dr);
// }
// RowCount++;
// }
// 把数据表加入到数据集
// ds.Tables.Add(dt);
//}
return ds;
}
}
}