分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

使用HtmlAgilityPack将HtmlTable填入DataTable

发布时间:2023-09-06 02:24责任编辑:熊小新关键词:暂无标签
       HtmlAgilityPack.HtmlWeb hw = new HtmlAgilityPack.HtmlWeb(); ???????????HtmlAgilityPack.HtmlDocument doc = hw.Load("C:\\Users\\u1\\Desktop\\test html.html"); ???????????HtmlAgilityPack.HtmlNode rootNode = doc.DocumentNode;//获取文档的根节点 ??????????????????????????????????????????????????????????????????????????????????????// ??//*[@id="report1"]/tbody ???????????string xpath = "//*[@id=‘report1‘]/tbody"; ???????????HtmlAgilityPack.HtmlNode node = rootNode.SelectSingleNode(xpath);//获取表格 ???????????foreach (var script in node.Descendants("script").ToArray()) ???????????????script.Remove(); ???????????foreach (var style in node.Descendants("style").ToArray()) ???????????????style.Remove(); ???????????string innerText = node.OuterHtml;//到这里就是纯纯的表格了 ?????????????????var trNodes = node.SelectNodes("tr"); ???????????DataTable dt = new DataTable(); ???????????for (int i = 0; i < 100; i++) ??//给表格增加100个列 ???????????{ ???????????????DataColumn dc = new DataColumn(); ???????????????dt.Columns.Add(dc); ???????????} ???????????foreach (var trnod in trNodes) //遍历行 ???????????{ ???????????????//dt.Rows.Add() ???????????????DataRow dr = dt.NewRow(); ???????????????var tdNodes = trnod.SelectNodes("td"); ???????????????for (int i = 0; i < tdNodes.Count; i++) //遍历列 ???????????????{ ???????????????????dr[i] = tdNodes[i].InnerText; ???????????????} ???????????????dt.Rows.Add(dr); ???????????} ???????????// 所有的数据读取到了datatable 中

使用HtmlAgilityPack将HtmlTable填入DataTable

原文地址:https://www.cnblogs.com/kqw/p/10029966.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved