在 C# 中从 HTML 表中检索数据

2023-12-02

我想从 HTML 文档中检索数据。 我正在从一个几乎完成的网站上抓取数据,但在尝试从表中检索数据时遇到问题。 这是 HTML 代码

<div id="middle_column">
<form action="url?" method="post" name="inquirydetail">
    <input type="hidden" name="ServiceName" value="SurgeWebService">
    <input type="hidden" name="TemplateName" value="Inpat_AvailableResponses.htm">
    <input type="hidden" name="CurrentPage" value="inquirydetail">
    <form method="post" action="url" name="ResponseSel" onSubmit="return EditPage(document.forms[3])">    
<TABLE
<tBody
 <table
....
</table

 <table
....
</table
 <table border="0" width="90%">
                    <tr>
                      <td width="10%" valign="bottom" class="content"> Service Number</td>
                      <td width="30%" valign="bottom" class="content"> Status</td>
                      <td width="50%" valign="bottom" class="content"> Status Date</td>
                    </tr>
                    <tr>
                      <td width="20%" bgcolor="white" class="subtitle">1</td>
                      <td width="40%" bgcolor="white" class="subtitle">Approved</td>
                      <td width="40%" bgcolor="white" class="subtitle">03042014</td>
                    </tr>
                    <tr>
                      <td></td>
                    </tr>
                  </table>
</tbody>
</TABle>
</div>

我必须检索 Status 字段的数据 It is Approved 并将其写入 SQL DB 表单标签中有很多表格。表格没有ID。如何获得正确的表格、行和单元格 这是我的代码

 HtmlElement tBody = WB.Document.GetElementById("middle_column");
   if (tBody != null)
                {
                   string sURL = WB.Url.ToString();
                    int iTableCount = tBody.GetElementsByTagName("table").Count;
                 }
   for (int i = 0; i <= iTableCount; i++)
                    {
                        HtmlElement tb=tBody.GetElementsByTagName("table")[i];
                    }

这里不对劲 请帮忙解决这个问题。


您无法控制 Webbrowser 控件中显示的页面吗?如果你这样做,最好为状态 TD 添加一个 id 字段。那么你的生活就会容易得多。

无论如何,以下是在表中搜索值的方法。

HtmlElementCollection tables = this.WB.Document.GetElementsByTagName("table");

            foreach (HtmlElement TBL in tables)
            {
                foreach (HtmlElement ROW in TBL.All)
                {

                    foreach (HtmlElement CELL in ROW.All)
                    {

                        // Now you are looping through all cells in each table

                        // Here you could use CELL.InnerText to search for "Status" or "Approved"
                    }
                }
            }

但是,这不是一个好方法,因为您要循环遍历每个表格以及每个表格中的每个单元格来查找文本。将此保留为最后一个选项。

希望这可以帮助您获得想法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C# 中从 HTML 表中检索数据 的相关文章

  • .NET 单点登录

    我一直在尝试使用 C 为 NET Web 应用程序实现 WEB SSO 服务提供程序插件 我将使用 shibboleth 身份提供商 我已经使用 OpenSAML 库为 java 应用程序实现了相同的功能 我想知道在 NET 应用程序中使用
  • 如何在特定时间以毫秒精度触发 C# 函数?

    我有两台计算机 它们的时间通过 NTP 同步 确保时间仅相差几毫秒 其中一台计算机将通过 TCP 向另一台计算机发送一条消息 以在两台计算机上的未来指定时间启动某个 c 函数 我的问题是 如何在特定时间以毫秒精度 或更好 触发 C 中的函数
  • 使用 Json.NET 序列化子类

    我正在尝试使用 Json NET 序列化子类 生成的 json 包含超类的序列化属性 但是not子类对象的属性 这似乎与我发现的一个问题有关这里就这样 https stackoverflow com q 5863496 498969 但必须
  • NDK 应用 onDestroy 清理 - 如何 DetachCurrentThread

    因此 如果我们连接 我们必须在完成后分离线程 对吗 JNIEnv get jni env JNIEnv res JAVA VM gt GetEnv void res JNI VERSION 1 6 Using cached JavaVM J
  • 将公历日期转换为儒略日期,然后再转换回来(随着时间)

    我正在编写一个程序 必须将当前的公历日期和时间转换为儒略日期 然后再转换回公历门 最终我需要添加能够添加年 月 日 小时 分钟和秒的功能 但我需要先解决这部分问题 现在我已经从公历日期转换为儒略日期 所以从逻辑上讲 我觉得我应该能够以某种方
  • 警告 C4800:“int”:强制值为 bool“true”或“false”(性能警告)

    我的代码中有这个问题 bool CBase isNumber return id MID NUMBER bool CBase isVar return id MID VARIABLE bool CBase isSymbol return i
  • 局部函数声明有什么用处吗?

    大多数像我这样的 C 程序员都曾犯过以下错误 class C int main C c declares a function c taking no arguments returning a C not as intended by m
  • 为什么子函数不销毁GtkWindow?

    这是我的代码 void window first void enter window2 GtkWidget w gpointer data void quit GtkWidget w gpointer data void quit int
  • 在没有 epsilon 的情况下可以将浮点数与 0.0 进行比较吗?

    我知道 要比较两个浮点值 需要使用一些 epsilon 精度 因为它们并不精确 但是 我想知道是否存在边缘情况 我不需要那个 epsilon 特别是 我想知道这样做是否总是安全的 double foo double x if x lt 0
  • 嵌入资源文件的路径

    我的资源文件中有一个图标 我想引用它 这是需要图标文件路径的代码 IWshRuntimeLibrary IWshShortcut MyShortcut MyShortcut IWshRuntimeLibrary IWshShortcut W
  • C# 枚举到字符串自动转换?

    是否可以让编译器自动将我的 Enum 值转换为字符串 这样我就可以避免每次都显式调用 ToString 方法 这是我想做的一个例子 enum Rank A B C Rank myRank Rank A string myString Ran
  • 如何将STL容器数据转储到gdb中?

    我无法在 gdb 中转储 STL 无序映射容器值 变量类型是 std unordered map var 我的 gdb 版本 7 7 1 GDB配置 configure host x86 64 linux gnu target x86 64
  • 处理“未找到细胞”。 Excel 中的错误

    我正在使用 Excel VSTO 应用程序并使用以下代码在工作表中查找错误单元格 Excel Range rngTemp Excel Range rngErrorRange Excel Worksheet Sheet1 Excel Work
  • 我可以将 UseCSharpNullComparisonBehavior 用于单个查询吗?

    我有一个查询 该查询曾经是存储过程 现已转换为 EF 查询 现在已经超时了 使用 SQL Profiler 我可以看到生成的 SQL 的唯一区别是 EF 转变的新行为entity Property value into entity Pro
  • 在 C# 中使用命名空间别名有什么好处? [复制]

    这个问题在这里已经有答案了 使用命名空间别名有什么好处 仅仅是为了简化编码吗 仅当与类发生冲突时我才使用名称空间别名 对我来说 这根本没有简化 我的意见是 如果没有必要 就不要使用
  • DataGridView 行背景颜色没有改变

    我想根据加载时的特定条件更改 DGV 行的背景颜色 即使在 Windows 窗体中也是如此 但我看不到任何 DGV 行的颜色有任何变化 谁能告诉我如何解决这个问题 private void frmSecondaryPumps Load ob
  • “1个未解决的外部”C++

    我已经检查了所有文件之间的连接以及类和函数定义 但每次我尝试运行我的程序时 它都会阻止我并告诉我它有 1 个未解析的外部 该程序应该打开多个文件 一个 学生 文件和一个 成绩 文件 从中读取数据 然后使用 查询文件 来查找数据 找到查询中要
  • 为什么在构造函数中设置字段是(或不是)线程安全的?

    假设您有一个像这样的简单类 class MyClass private readonly int a private int b public MyClass int a int b this a a this b b public int
  • 实体框架代码首次日期字段创建

    我正在使用实体框架代码优先方法来创建我的数据库表 下面的代码 创建一个DATETIME数据库中的列 但我想创建一个DATE柱子 DataType DataType Date DisplayFormatAttribute ApplyForma
  • 如何使用 C# 为 azure devops 变量赋值

    我有 selenium C 测试脚本 可以从浏览器获取令牌 我有两个 azure devops 任务 一个用于执行 selenium 测试 另一个用于执行 API 测试 我想将 selenium 测试获取的令牌传递给 API 测试执行任务

随机推荐

  • Selenium Python 在 HTTPS 网站上验证浏览器登录 pupup 对话框

    Folks 我正在开发一个每天运行一次的抓取脚本 我需要重新验证我的帐户 首先我必须登录 然后只有我才能看到该页面 就像正常的页面登录和废弃一样 这不起作用 阅读文章并按照大多数博客和论坛的建议使用下面的代码 这仍然不起作用 It s an
  • 缺少 OpenMP 功能:线程优先级

    任何人都想想吧 OpenMP 具有调整 CPU 能力来处理哑铃的功能 在我对 openmp 的研究中 我们无法设置线程优先级来以强大的力量执行块代码 5 只有一种方法 beginthreadex 或带参数的 CreateThread 函数
  • 如何在javascript中将嵌套集合转换为嵌套数组?

    有以下数据 no 1 name ELECTRONICS depth 0 no 2 name TELEVISIONS depth 1 no 3 name TUBE depth 2 no 4 name LCD depth 2 no 5 name
  • 尝试获取 singleValueExtendedProperties 时收到 400 和 500

    尝试向日历对象添加扩展属性 我可以使用以下有效负载创建日历 Ruby 语法 有效负载以 JSON 形式发送 name build calendar name singleValueExtendedProperties id String S
  • 如何使用 viewmodel 单例进行活动?

    MyApp需要在整个上下文中保存一个User对象 A B C活动的xml使用这个User对象 当A编辑User时 我想要B和C通知Change 如何使用数据绑定 livedata和viewModel处理这个问题 以前我让User class
  • Python Selenium 更改文本大小(缩放?设置?...)

    我有一个网页 我需要先截屏 然后使用 OCR 解析出里面的文本 如果放大 Mac command OCR 的性能会显着提高 所以我想知道如何在Python中使用selenium来放大 缩小 有一个类似的post但他们只有Java和C 的实现
  • 在 colorbox 中的图像下方添加 div

    使用 PHP 和 jQuery 目前使用 Colorbox 显示图像幻灯片 我想在每个图像下方包含一个 DIV 当每个图像显示新内容时会更新 可用于展示相关内容 评论功能等 四处研究但尚未找到任何答案 有人以前这样做过或有任何线索吗 我想我
  • 检测应用程序是否从应用程序“外部”启动/恢复

    我目前正在为应用程序构思一项功能 我希望有一种通用方法 方法来检测应用程序本身是否已从 启动或恢复outside 该应用程序 Outside 在这种情况下 意味着 应用程序由启动器图标启动 恢复 通过按导航栏 按键上的 应用程序按钮 来启动
  • 在 Teams 平台上更新 BotFramework v4 中的活动

    我有一个使用 NodeJS 使用 Bot Framework v4 开发的机器人 并部署在 Teams 中的多个渠道上 有没有办法更新机器人发送的消息 我尝试在 BotFrameworkAdapter 中实现 updateActivity
  • cx_Freeze-导入错误:无法导入名称设置

    我使用的是 Windows 7 机器 cx Freeze 4 3 1 和 Python 3 3 Python 和 cx Freeze 都是 32 位版本 我编写了一个 setup py 脚本 如下所示 import sys from cx
  • Javascript如何转义字符

    我想在 div 中插入一些 html 假设 div div 我在用 Sag html data 为了将数据插入到该 div 中 但这是我的数据的问题 table table
  • android 中有安装事件吗?

    是否有一些事件 接收器或用于处理安装后或安装后直接执行的首次执行 或者我需要它根据偏好进行模拟吗 有的是ACTION PACKAGE ADDED广播意图 但正在安装的应用程序不会收到此意图 因此 检查是否设置了首选项可能是最简单的解决方案
  • 按位与 (&) 运算符执行什么数学函数(JS)?

    一点背景知识 当我试图解决 javascript 问题以找到所有可能的子集时 我正在查看另一篇 SO 帖子 我不是在问 JS 挑战 而是问它为什么存在以及它有什么数学意义 这是代码的复制粘贴这个帖子 var arr 1 2 3 functi
  • 如何在基于 MSI 的卸载过程中停止正在运行的进程?

    我在 Windows XP 上使用 Wise Package Studio 7 0 SP2 我有一个 MSI 包装的 EXE 安装 它可以愉快地安装一些文件 然后运行安装中的其中一个文件 我们可以将其称为 app exe 因此 在 MSI
  • 在多索引 DataFrame 中添加和重命名列

    这篇文章的目的是了解如何将列添加到MultiIndex DataFrame using apply and shift 创建数据框 import pandas as pd df pd DataFrame 5777 100 5385 200
  • YouTube API v3 点赞视频,但计数器不增加

    每当我尝试通过 YouTube API 点赞某个视频时 它都会将该视频标记为点赞 但点赞计数器不会在我点赞时增加 它告诉我我喜欢这个视频 因为喜欢按钮是全绿色的 但它并没有算作喜欢 我通过 PHP 的 CURL 使用此链接 https ww
  • python selenium无法使用cookie登录youtube帐户

    警告 此线程中提供的 cookie 可能已经无效 因此您应该使用您自己的或其他一些 cookie 来执行此操作 我需要使用以下方式登录我的 YouTube 帐户饼干和硒 我可以发送请求至https www youtube com 与饼干 它
  • boost::random::uniform_real_distribution 在处理器之间应该是相同的吗?

    以下代码在 x86 32 位和 64 位处理器上产生不同的输出 应该是这样吗 如果我将其替换为 std uniform real distribution 并使用 std c 11 进行编译 它将在两个处理器上产生相同的输出 include
  • 分段错误取决于字符串长度?

    我正在编写一个程序 它将使用 getline 从 infile 读取行并将其转换为字符串 将字符串转换为包含字符串的前 m 个非空白字符的 c 字符串 然后将 c 字符串连接成单个 char 数组 示例文件可能如下所示 5 number o
  • 在 C# 中从 HTML 表中检索数据

    我想从 HTML 文档中检索数据 我正在从一个几乎完成的网站上抓取数据 但在尝试从表中检索数据时遇到问题 这是 HTML 代码 div div