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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 电路驱动能力

    电路驱动能力1.在电子电路中为什么有的地方电压会被拉低2,驱动能力是什么意思,如何提高驱动能力在很多资料上看到说驱动能力不够是因为提供的电流太小,为什么不说电压呢?在很多限制的条件都是电流而不是电压,为什么?电压和电流满足欧姆定律,考虑谁不是都一样吗?还有就是,在什么情况下要考虑驱动能力,是不是只有在集成电路输出口要考虑?那你怎么知道这个集成电路驱动能力是不是不够?在平常的电路中(非集成电路I

    2022年5月13日
    56
  • symbian http 联网时 不弹出接入点框「建议收藏」

    symbian不弹出接入点:目前在五版的5800xm5235测试通过。记录一下voidCHttpEngine::SetupConnectionL(){if(iConnectionSetupDone){//ConnectionsetupisdoneUser::Leave(KErrAlreadyExists);}if(IsA…

    2022年4月8日
    39
  • linux关闭防火墙或开启防火墙命令_linux防火墙怎么关闭

    linux关闭防火墙或开启防火墙命令_linux防火墙怎么关闭在linux中防火墙的开启和关闭是可以通过命令来执行的,那么具体是哪个命令呢?下面由学习啦小编为大家整理了linux关闭防火墙的相关命令,希望对大家有所帮助。1.Linux关闭防火墙命令1)永久性生效,重启后不会复原开启:chkconfigiptableson关闭:chkconfigiptablesoff2)即时生效,重启后复原开启:serviceiptablesstart关闭:s…

    2025年9月22日
    6
  • java字符串类型转换为int_java中double转int类型

    java字符串类型转换为int_java中double转int类型标题Java类型转换:int转double由于double的范围比int数据类型大,所以当int值被赋给double时,java会自动将int值转换为double。隐式转换:由于double数据类型的范围和内存大小都比int大,因此从int到double的转换是隐式的。并不需要像doubletoint转换那样进行类型转换;使用Double.valueOf()方法/***Ja…

    2022年4月20日
    76
  • ubuntu 安装图形界面_ubuntu安装mpich详细教程

    ubuntu 安装图形界面_ubuntu安装mpich详细教程#cd/opt#sudowgethttps://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb#sudomvmsfupdate.erbmsfinstall#sudochmod755…

    2025年9月24日
    6
  • 最新手机号段 归属地数据库(2021年10月476338条,包括最新的号段)

    最新手机号段 归属地数据库(2021年10月476338条,包括最新的号段)最新手机号段归属查询地数据库2020年3月447897条,最新手机归属地数据库,号码归属地数据库,TXT、Exel两种格式。自己买的,花了钱。包括最新的165、166、167、173、177、195、198、199、172、178、198、175、176。这里是txt格式,其他格式及最新的资源在http://dzw.se/zhl靠下方的位置上。Txt格式https://dow…

    2022年7月22日
    18

发表回复

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

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