C# 通过 HtmlDocument 操作HTML节点

C# 通过 HtmlDocument 操作HTML节点C#通过HtmlDocument操作HTML节点时,会发生不停地刷新的情况,在对html文档操作后加以判断即可解决这种问题。   PublicSubsetMainUlr(ByValWebBrowser1AsWebBrowser)           DimpElemAsHtmlElement=Nothing           即时信息页面          

大家好,又见面了,我是你们的朋友全栈君。

C# 通过 HtmlDocument 操作HTML节点时,会发生不停地刷新的情况,在对html文档操作后加以判断即可解决这种问题。
    Public Sub setMainUlr(ByVal WebBrowser1 As WebBrowser)
            Dim pElem As HtmlElement = Nothing
            '即时信息页面
            pElem = WebBrowser1.Document.All("myFrame")
            If Not pElem Is Nothing Then
                If pElem.GetAttribute("src") <> myFrameUrl Then
                    Dim ax As AccessXml = New AccessXml()
                    pElem.SetAttribute("src", myFrameUrl)
                End If
            End If
            '展示图片页面
            pElem = WebBrowser1.Document.All("slice")
            If Not pElem Is Nothing Then
                If pElem.GetAttribute("src") <> pictureUrl Then
                    Dim ax As AccessXml = New AccessXml()
                    pElem.SetAttribute("src", pictureUrl)
                End If
            End If
        End Sub
通用方法:
private void DisplayCustomersTable()
{
    DataSet customersSet = new DataSet();
    DataTable customersTable = null;
    SqlDataAdapter sda = new SqlDataAdapter("SELECT * FROM Customers", "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=Northwind;");
    sda.Fill(customersTable);
    customersTable = customersSet.Tables[0];

    if (webBrowser1.Document != null)
    {
        HtmlElement tableRow = null;
        HtmlElement headerElem = null;

        HtmlDocument doc = webBrowser1.Document;
        HtmlElement tableElem = doc.CreateElement("TABLE");
        doc.Body.AppendChild(tableElem);

        HtmlElement tableHeader = doc.CreateElement("THEAD");
        tableElem.AppendChild(tableHeader);
        tableRow = doc.CreateElement("TR");
        tableHeader.AppendChild(tableRow);

        foreach (DataColumn col in customersTable.Columns)
        {
            headerElem = doc.CreateElement("TH");
            headerElem.InnerText = col.ColumnName;
            tableRow.AppendChild(headerElem);
        }

        // Create table rows.
        HtmlElement tableBody = doc.CreateElement("TBODY");
        tableElem.AppendChild(tableBody);
        foreach (DataRow dr in customersTable.Rows)
        {
            tableRow = doc.CreateElement("TR");
            tableBody.AppendChild(tableRow);
            foreach (DataColumn col in customersTable.Columns)
            {
                Object dbCell = dr[col];
                HtmlElement tableCell = doc.CreateElement("TD");
                if (!(dbCell is DBNull))
                {
                    tableCell.InnerText = dbCell.ToString();
                }
                tableRow.AppendChild(tableCell);
            }
        }
    }
}
例子:
private   void   Form1_Load(object   sender,   EventArgs   e)   
{
webBrowser1.DocumentText =
"<html><body>Please enter your name:<br/>" +
"<input type='text' name='userName'/><br/>" +
"<a href='http://www.microsoft.com'>continue</a>" +
"</body></html>";
webBrowser1.Navigating +=
new WebBrowserNavigatingEventHandler(webBrowser1_Navigating);
}

private void webBrowser1_Navigating(object sender,
WebBrowserNavigatingEventArgs e)
{
System.Windows.Forms.HtmlDocument document =
this.webBrowser1.Document;

if (document != null && document.All["userName"] != null &&
String.IsNullOrEmpty(
document.All["userName"].GetAttribute("value")))
{
e.Cancel = true;
System.Windows.Forms.MessageBox.Show(
"You must enter your name before you can navigate to " +
e.Url.ToString());
}
}

 

提供对 WebBrowser 控件承载的 HTML 文档的顶级编程访问。

HtmlDocument 类型公开以下成员。

  名称 说明
C# 通过 HtmlDocument 操作HTML节点 AttachEventHandler 为已命名的 HTML DOM 事件添加事件处理程序。
C# 通过 HtmlDocument 操作HTML节点 CreateElement 新建一个指定 HTML 标记类型的 HtmlElement
C# 通过 HtmlDocument 操作HTML节点 DetachEventHandler 从 HTML DOM 上的命名事件中移除事件处理程序。
C# 通过 HtmlDocument 操作HTML节点 Equals 确定指定的 Object 是否等于当前的 Object。 (重写 Object..::.Equals(Object)。)
C# 通过 HtmlDocument 操作HTML节点 ExecCommand 对文档执行指定的命令。
C# 通过 HtmlDocument 操作HTML节点 Finalize 允许 Object 在“垃圾回收”回收 Object 之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
C# 通过 HtmlDocument 操作HTML节点 Focus 在当前文档上设置用户输入焦点。
C# 通过 HtmlDocument 操作HTML节点 GetElementById 将元素的 ID 属性用作搜索键来检索单个 HtmlElement
C# 通过 HtmlDocument 操作HTML节点 GetElementFromPoint 检索位于指定工作区坐标位置的 HTML 元素。
C# 通过 HtmlDocument 操作HTML节点 GetElementsByTagName 检索具有指定 HTML 标记的元素集合。
C# 通过 HtmlDocument 操作HTML节点 GetHashCode 用作特定类型的哈希函数。 (重写 Object..::.GetHashCode()()()。)
C# 通过 HtmlDocument 操作HTML节点 GetType 获取当前实例的 Type。 (继承自 Object。)
C# 通过 HtmlDocument 操作HTML节点 InvokeScript 已重载。 执行在 HTML 页面中定义的动态脚本函数。
C# 通过 HtmlDocument 操作HTML节点 MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
C# 通过 HtmlDocument 操作HTML节点 OpenNew 获取一个新的 HtmlDocument 以便与 Write 方法一起使用。
C# 通过 HtmlDocument 操作HTML节点 ToString 返回表示当前 ObjectString。 (继承自 Object。)
C# 通过 HtmlDocument 操作HTML节点 Write 编写一个新的 HTML 页。
页首
  名称 说明
C# 通过 HtmlDocument 操作HTML节点 C# 通过 HtmlDocument 操作HTML节点 Equality  
C# 通过 HtmlDocument 操作HTML节点 C# 通过 HtmlDocument 操作HTML节点 Inequality  
页首
  名称 说明
C# 通过 HtmlDocument 操作HTML节点 ActiveElement 提供当前具有用户输入焦点的 HtmlElement
C# 通过 HtmlDocument 操作HTML节点 ActiveLinkColor 获取或设置超链接被用户单击后的 Color
C# 通过 HtmlDocument 操作HTML节点 All 获取 HtmlElementCollection 的实例,该实例存储文档的所有 HtmlElement 对象。
C# 通过 HtmlDocument 操作HTML节点 BackColor 获取或设置 HTML 文档的背景色。
C# 通过 HtmlDocument 操作HTML节点 Body 获取 BODY 标记的 HtmlElement
C# 通过 HtmlDocument 操作HTML节点 Cookie 获取或设置与此文档关联的 HTTP Cookie。
C# 通过 HtmlDocument 操作HTML节点 DefaultEncoding 获取默认情况下为当前文档使用的编码。
C# 通过 HtmlDocument 操作HTML节点 Domain 获取或设置字符串,描述用于安全目的的此文档的域。
C# 通过 HtmlDocument 操作HTML节点 DomDocument 获取此 HtmlDocument 的非托管接口指针。
C# 通过 HtmlDocument 操作HTML节点 Encoding 获取或设置此文档的字符编码。
C# 通过 HtmlDocument 操作HTML节点 Focused 获取一个值,该值指示文档是否具有用户输入焦点。
C# 通过 HtmlDocument 操作HTML节点 ForeColor 获取或设置文档的文本颜色。
C# 通过 HtmlDocument 操作HTML节点 Forms 获取文档中所有 <FORM> 元素的集合。
C# 通过 HtmlDocument 操作HTML节点 Images 获取文档中所有图像标记的集合。
C# 通过 HtmlDocument 操作HTML节点 LinkColor 获取或设置超链接的颜色。
C# 通过 HtmlDocument 操作HTML节点 Links 获取此 HTML 文档中所有超链接的列表。
C# 通过 HtmlDocument 操作HTML节点 RightToLeft 获取或设置当前文档中文本的方向。
C# 通过 HtmlDocument 操作HTML节点 Title 获取或设置当前 HTML 文档中 <TITLE> 标记的文本值。
C# 通过 HtmlDocument 操作HTML节点 Url 获取描述此文档位置的 URL。
C# 通过 HtmlDocument 操作HTML节点 VisitedLinkColor 获取或设置用户已经访问的链接(指向 HTML 页)的颜色。
C# 通过 HtmlDocument 操作HTML节点 Window 获取与此文档关联的 HtmlWindow
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/161633.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 提问的艺术(转帖)

    提问的艺术(转帖) 一、为什么要探讨提问的艺术呢?首先我们要搞清楚什么是问题,为什么要提问,为什么要强调提问的艺术?所谓问题指的是,所有造成我们焦虑、争议的、不能自我答复和解决的一些思考和事情,而且在当时并没有适当答案可以解决。在这个网络时代,没有人是全能的,谁都会在必要的时候为了寻求帮助和寻找答案而提问。而所谓艺术,指的是通过某种表现手法,使人产生喜爱感觉。谁都需要自己的提问,可以在最短、最快

  • Linux初识[通俗易懂]

    Linux发展史简介Linux是一套自由加开放源代码的类Unix操作系统,诞生于1991年10月5日(第一次正式向外公布),由芬兰学生LinusTorvalds和后来陆续加入的众多爱好者共同开发

  • Datadog_DataDog搭建

    Datadog_DataDog搭建这里写目录标题1.Datadog1.1.Datadog新特性1.Datadog1.1.Datadog新特性https://www.datadoghq.com/blog/dash-2021-new-feature-roundup/#infrastructure-and-network-monitoring

    2022年10月22日
  • pycharm使用技巧及常用快捷键_单元格设置的快捷键是什么

    pycharm使用技巧及常用快捷键_单元格设置的快捷键是什么1.下载安装PyCharm官方下载地址:https://www.jetbrains.com/pycharm/download/index.html#section=windows安装完成后在弹出的界面中选择新建一个工程:2.首次使用首次使用需要配置一下控制台,才能正常调试python点击灰色的倒三角,选择“EditConfigur…

  • 只因为你

    只因为你

  • Python Qt GUI设计:QTabWidget、QStackedWidget和QDockWidget容器控件类(提升篇—2)「建议收藏」

    Python Qt GUI设计:QTabWidget、QStackedWidget和QDockWidget容器控件类(提升篇—2)「建议收藏」有时候我们可能会面临这样一种情况:所开发的程序包含了太多的控件,导致一个窗口装载不下或者装载的控件太多而不美观。本篇博文就来解决这个问题,即如何在现有的窗口空间中装载更多的控件。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号