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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android与服务端使用Https加密通信

    Android与服务端使用Https加密通信

    2022年3月7日
    46
  • 数字证书 CA_数字证书申请

    数字证书 CA_数字证书申请文章目录1.证书1.1证书的应用场景1.2证书标准规范X.5091.2.1证书规范1.2.2证书格式1.2.3CA证书1.3公钥基础设施(PKI)1.3.1什么是公钥基础设施1.3.2PKI的组成要素用户认证机构(CA)仓库1.3.3各种各样的PKI2.Fabric-ca2.1简介2.2基本组件2.3安装2.4初始化&快速启动2.5服务端配置文件解析2.6…

    2022年10月16日
    5
  • HTML5学习笔记简明版(11):新API

    HTML5学习笔记简明版(11):新API

    2021年12月31日
    56
  • qlineedit_qt layoutstretch

    qlineedit_qt layoutstretch简述QLineEdit是一个单行文本输入框。QLineEdit允许用户输入和编辑单行纯文本,提供了很多有用的编辑功能,包括:撤消和重做、剪切和粘贴、以及拖放(见setDragEnabled())。通过改变输入框的echoMode(),同时也可以设置为一个“只写”字段,用于输入密码等。文本的长度可以被限制为maxLength(),可以使用一个validator()或inputMask()来任意限制文本

    2022年10月6日
    2
  • Arping协议以及使用方法「建议收藏」

    Arping协议以及使用方法「建议收藏」什么是Arping协议?ARP协议是“AddressResolutionProtocol”(地址解析协议)的缩写,在同一以太网中,通过地址解析协议,源主机可以通过目的主机的IP地址获得目的主机的MAC地址。arping,用来向局域网内的其他主机发送ARP请求指令,可以用来测试局域网内的某个IP是否已经被使用。实验环境:通过Kali测试windows7的MAC地址。获取Windows7IP地址通过Kali来经行测试:这里已经测得对应的MAC地址通用命令查看某个IP的MAC地址sudo

    2022年6月10日
    45
  • redis客户端连接(error) NOAUTH Authentication required「建议收藏」

    redis客户端连接(error) NOAUTH Authentication required「建议收藏」redis客户端连接成功,但是操作报异常——(error)NOAUTHAuthenticationrequired错误的含义是说你没有认证,说明没有使用密码连接查看密码:进入redis的安装目录(是安装目录的),查看redis.config文件viredis.config打开配置文件后,输入#requirepassfoobared(快速定位的命令)然后回车红框里的就是密码使用密码连接.

    2022年5月2日
    70

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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