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


相关推荐

  • 详解linux中rsync的妙用[通俗易懂]

    详解linux中rsync的妙用[通俗易懂]????1.rsync备份服务器软件介绍:Rsync是一款开源的、快速的、多功能的、可实现全量及增长的本地或远程数据同步备份的优秀工具。增量备份:只同步变化的数据细腻些,主要利用了quickcheck算法实现同步原理:1)建立好网络连接2)先进行数据信息对比3)只将变化的数据进行增量备份2.rsync软件作用说明:(1v4cp/scp/rm/ls)本地数据备份:cp[root@backup~]#cp-a/etc/hosts/tmp/hosts_cp[root@backu

    2022年10月13日
    4
  • 王思聪新浪微博微博_kimi乔任梁王思聪

    王思聪新浪微博微博_kimi乔任梁王思聪作者|天使不投资人本文经授权转载自虎嗅APP(ID:huxiu_com)iG夺冠了!iG夺冠了!——11月3日,社交媒体成为了年轻人欢乐的海洋,微博尤甚。根本不知道LOL、也不知道iG是什么的叔叔阿姨们,对这次刷屏一点都不反感,毕竟IG老板,人称“校长”的王思聪,为了庆祝自家战队创造历史,在11月6日发起了一场豪气抽奖:从参与人数就可以隔着屏幕感受到一万元奖金的巨大…

    2022年8月30日
    7
  • 一文带你通俗易懂地了解word2vec原理

    一文带你通俗易懂地了解word2vec原理词向量、Wordembedding、语言模型训练(LanguageModelTraining)、CBOW(ContinuousBagofWords)、Skipgram、NegativeSampling(负采样)、SkipgramwithNegativeSampling(SGNS)、Word2vec训练过程

    2022年5月17日
    47
  • 51单片机智能小车的通俗易懂讲解「建议收藏」

    51单片机智能小车的通俗易懂讲解「建议收藏」..从上面导航图,我们可以看到,智能小车,共分为三步外部检测,控制中心,轮子输出控制。等于人的眼睛,大脑,手脚。..因为控制中心和轮子输出控制是一样的,只有前面的外部检测,换个模块工作而已。…..在这里我们先简单了解一下,上面两个外部检测,可以扩展什么功能。,.红外线类循迹避障循迹加避障等等..超声波类避障魔法手舵机式避障等等…..

    2022年5月8日
    56
  • Code Coverage API plugin 一个新的代码覆盖率插件

    Code Coverage API plugin 一个新的代码覆盖率插件

    2021年6月19日
    93
  • 网络综合布线工程后期验收

    网络综合布线工程后期验收

    2021年8月7日
    56

发表回复

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

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