将 Html 表转换为数据表的最佳方法是什么

2024-03-04

我有一个 html 表。我想将其转换为数据表。这样做的最佳方法是什么? 谢谢


不要自己解析 HTML,有解析库可以为您做到这一点。再加上HTML 敏捷包 http://html-agility-pack.net/?z=codeplex和 LINQ,您可以轻松完成此任务。

var doc = new HtmlDocument();
doc.Load(url);

var nodes = doc.DocumentNode.SelectNodes("//table/tr");
var table = new DataTable("MyTable");

var headers = nodes[0]
    .Elements("th")
    .Select(th => th.InnerText.Trim());
foreach (var header in headers)
{
    table.Columns.Add(header);
}

var rows = nodes.Skip(1).Select(tr => tr
    .Elements("td")
    .Select(td => td.InnerText.Trim())
    .ToArray());
foreach (var row in rows)
{
    table.Rows.Add(row);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Html 表转换为数据表的最佳方法是什么 的相关文章

  • 绑定到 DataGridView.Datasource 时加载 DataTable 缓慢

    我搜遍了所有地方 但我无法弄清楚这一点 我正在开发一个 Winforms UI 该 UI 正在提取需要在 DataGridView 中显示的大量行 我已经阅读了有关限制行数和分页的所有内容 但我绝对没有好的方法可以做到这一点 基本上 我正在
  • 加载了错误的 App.config

    我构建了一个 NET 3 5 类库 它读取 App config 文件以获取所需的值 当我在 Visual Studio 中测试它时 它可以很好地提取配置值 为了测试它 我只需将项目更改为控制台应用程序并执行方法调用 我需要从许多其他 NE
  • 从 Google Chrome 下载文件时出现网络错误

    我编写了下面的 C 代码用于下载应用程序中的附件 当我运行代码时 我可以使用 Mozilla Internet Explorer 下载文件 但这在 Google Chrome 中不起作用 string base64FileString re
  • 任何域对象都应该不可序列化吗?

    有没有办法告诉编译器 我希望我的对象默认可序列化 几乎每个序列化引擎都想知道您的对象是否合适 这可以采取以下形式 Serializable ISerializable BinaryFormatter SoapFormatter Serial
  • 在派生类上使用 C# xmlserializer,同时控制生成的 XML 元素

    我有一个 C 类结构 其中包含一个抽象基类和从此抽象类派生的各种类 System Xml Serialization XmlInclude typeof B public abstract class A Serializable XmlT
  • 自定义 Linq 订购

    我有一千多个文件夹 每个文件夹都包含一个或多个具有以下名称的文件 无序 Alison ext Heather ext Molly ext Paula ext Sam ext Ordered Molly ext Sam ext Heather
  • 将 XDocument 绑定到 WPF 并仍然使用 XPath?

    这是一个由 2 部分组成的问题 1 是否可以在不使用 ObjectDataProvider 的情况下将 XDocument 绑定到 WPF 控件 这是我的代码片段 其中 XmlDocument 可以工作 但我无法使用 XDocument X
  • 具有可扩展组的分组 Gridview

    关于嵌套网格视图或具有子网格视图的主题存在许多问题 我已经考虑过这种方法 但它对于我的目的来说太多了 我能找到的最接近的现有问题是这个 分组网格视图 https stackoverflow com questions 1804282 gro
  • Xdocument 不打印声明

    我尝试使用domainpeople com API 为此我需要使用XML 目前我有一个错误 说 找不到 apiProtocol 我猜我的 Xml 文档格式错误 当前发送的 xml 是
  • 按对象类型进行 LINQ 选择

    我有一个包含两种类型的对象 A 和 B 的集合 Class Base Class A Base Class B Base List collection new List collection Add new A collection Ad
  • C# 3.0 中的命名/可选参数?

    有没有办法像 C 4 0 一样向 C 3 0 添加可选参数 我一定要拥有这个功能 我已经等不及了 Edit 如果您知道实现此目的的解决方法 技巧 也请发布它 谢谢 您可以使用匿名类型和反射作为命名参数的解决方法 public void Fo
  • C# 中的不透明字典键模式

    我遇到过很多情况 其中访问键控集合 如字典 中的项目的模式因键的类型不是简单类型 字符串 整数 双精度等 而受到阻碍 并且不是您想要提升为实际命名类的东西 C 3 0 引入了编译器自动生成的匿名类型的概念 不像struct的 这些动态生成的
  • 相同的变量名 - 2 个不同的类 - 如何将值从一个类复制到另一个类 - 反射 - C#

    不使用AutoMapper 因为负责这个项目的人看到依赖关系时会扔砖头 我有一个类 A 类 具有许多属性 我有另一个具有相同属性 相同名称和类型 的类 B 类 B 类还可以有其他不相关的变量 是否有一些简单的反射代码可以将值从 A 类复制到
  • 一次对多个属性使用“转换为自动属性”

    我发现自己经常使用 Resharper 的 转换为自动属性 重构来删除 C 3 0 之前的样板代码 有什么方法可以将其应用到单个类中的所有属性立刻 ReSharper 可以做到这一点 Options gt Code Cleanup gt U
  • C# Lambda 表达式:为什么应该使用它们?

    我很快读完了微软 Lambda 表达式 http msdn microsoft com en us library bb397687 aspx文档 不过 这种例子帮助我更好地理解 delegate int del int i del myD
  • 带有 ref 变量的函数委托

    public object MethodName ref float y elided 我如何定义一个Func该方法的委托 它不能通过Func但你可以定义一个自定义delegate for it public delegate object
  • 日期时间类型转换器

    我有下面的代码将字符串转换为 T 类型 它适用于所有其他类型 但当 T 为 DateTime 类型时会出现错误 TypeConverter c TypeDescriptor GetConverter typeof T return T c
  • c#.net 中委托事件的超级简单示例? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要一个非常简单的例子来了解自己对这些事件的了解 我觉得很难理解互联网或书籍上提供的示例 这是公开事
  • C# 中的空“if”语句是否会导致错误或警告?

    让我从一个现实生活中的例子开始 顾客 Alex 刚刚注意到 RemovalProcessor 第 138 行有一些奇怪的东西 if Session Handler ExecutePrefetchTasks null Session Exec
  • MSTest 与 Moq - DAL 设置

    我是最小起订量新手 刚刚开始一个已经在开发的项目 我负责设置单元测试 DatabaseFactory 有一个使用 EnterpriseLibrary 的自定义类 如下所示 public Database CreateCommonDataba

随机推荐

  • 当使用 modalPresentationStyle = .FormSheet 推入 UINavigationController 时,SFSafariViewController 显示不正确

    我有一个简单的设置表视图 它是 UINavigationController 的第一个视图 我使用 FormSheet modalPresentationStyle 呈现设置 UINavigationController 这意味着在 iPh
  • C# 中字符串和对象的比较

    看这段代码 object x mehdi emrani string y mehdi emrani Console WriteLine y x 返回true 但是这段代码 object x mehdi emrani string y meh
  • 在 SQL Server 2005 数据库中存储 C# DateTimeOffset 值

    我想在 SQL Server 2005 数据库中存储 C DateTimeOffset 值 Sql 2008 将此作为内置类型 但 SQL Server 2005 没有 DateTimeOffset 结构有一个 DateTime 值 我将其
  • 使 PHP GET 参数看起来像目录

    我正在努力做到这一点 http foo foo parameter value 转换 为http foo foo value Thanks 假设您在 Apache 上运行 htaccess 中的这段代码适用于我 RewriteEngine
  • 带 cookie 的 Testcafe 请求

    我试图在 testcafes API 中找到类似于 Cypress 请求的方法 柏 request https docs cypress io api commands request html Cookies会将任何 cookie 附加到
  • 如何计算图像数据集中 RGB 值的 3x3 协方差矩阵?

    我需要计算图像数据集中 RGB 值的协方差矩阵 然后将 Cholesky 分解应用于最终结果 RGB 值的协方差矩阵是 3x3 矩阵 M 其中 M i i 是通道 i 的方差 M i j 是通道 i 和 j 之间的协方差 最终结果应该是这样
  • 输入一个条目会导致所有条目被写入 (Tkinter)

    我正在使用 Tkinter 创建一个带有 GUI 的数独求解器桌面应用程序 我遇到的问题是在输入板时 这是我正在使用的代码 N 9 input 0 for i in range N for j in range N for i in ran
  • 自动链接 html 字符串中的 URL 和图像

    嗨 我有一个像这样的字符串 p class video http vimeo 2342343 p p class image http nerto it logo png p p class text try to write p p cl
  • 如何清除WKWebView的WKBackForwardList?

    看来backForwardListWKWebView 的属性是只读的 但我见过人们使用一些非常神奇的东西来解决这个问题 我需要找出某种方法来清除 WKWebView 的历史记录 我有什么想法可以这样做吗 到目前为止 我已经尝试了一些失败的技
  • read.table 或 read.csv 上的列名称向左移动

    最初我有这个 TSV 文件 示例 name type qty cxfm 1C 0 d2 H50 2 g3g 1G 2 hb E37 1 nlx E45 4 所以我使用 read csv 从 tsv 文件读取数据 但我总是得到以下输出 nam
  • 使用 Websphere MQ 6 授权

    我在运行 Windows Server 2003 的虚拟机上安装了 IBM 的 WebSphere MQ 版本 6 的服务器端 该虚拟机位于 Vista 桌面上 桌面已安装客户端 我有一个小测试程序 来自他们的代码示例 它将一条消息放入队列
  • Javascript 和 AJAX,仅在使用alert()时有效

    我的 JavaScript 遇到问题 它的行为似乎很奇怪 这就是正在发生的事情 我有一个表单 在用户提交后 它调用一个函数 onsubmit 事件 来验证提交的数据 如果有问题或者用户名 电子邮件已经在数据库中 这部分使用 ajax 它将返
  • 获取JUnit 4中@Before中当前正在执行的@Test方法

    我想获取当前正在执行的测试方法 Before这样我就可以将注释应用于当前正在执行的方法 public class TestCaseExample Before public void setUp get current method her
  • 从 bash 调用 php 函数 - 带参数

    我有一个简单的func php文件与concat功能 我想用两个参数从 linux bash shell 调用这个函数 1st Hello 2nd World 并将输出 Hello World 打印到 linux bash shell 请告
  • Laravel 5 - 如何创建 Artisan 命令来执行 bash 脚本

    我想获得一个 artisan 命令来在执行时运行 bash 脚本 所以我使用以下命令创建了一个 artisan 命令 php artisan make command backupList command backup list 这是 ba
  • 保存时 VSCode Prettier 格式搞乱了格式

    在保存功能上使用 VSCode Prettier 格式已经有一段时间了 最近 Javascript 不断犯错误和格式错误 例如 const foo 123 save const foo 1 23 我暂时禁用了它 但是有什么办法可以防止这种情
  • 与泛型的模式匹配

    给定以下类模式匹配 clazz match case MyClass gt someMethod MyClass 是否可以根据模式匹配结果以通用方式引用 MyClass 例如 如果我有 MyClass 的多个子类 我可以编写一个简单的模式匹
  • 使用凭据将 I/O 文件写入共享网络驱动器

    我想将 txt 文件放到共享网络驱动器上 该路径是网络驱动器上的映射 需要凭据 登录名和密码 我可以使用 FileOutputStream 传递这些参数吗 FileOutputStream fos DataOutputStream dos
  • R 2.14.0 包检查中的描述导入顺序:和 NAMESPACE import()

    当我检查包时 我试图找出函数名称之间似乎存在冲突的地方 我最终可能会直接询问这个问题 但首先 我想知道三件事 R exts 中似乎没有提到这三件事 描述 导入和命名空间导入 中列出的包应该是相同的 对吧 在任一列表中 导入顺序重要吗 如果是
  • 将 Html 表转换为数据表的最佳方法是什么

    我有一个 html 表 我想将其转换为数据表 这样做的最佳方法是什么 谢谢 不要自己解析 HTML 有解析库可以为您做到这一点 再加上HTML 敏捷包 http html agility pack net z codeplex和 LINQ