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)


相关推荐

  • zt在Delphi7中屏蔽word,excel左上角的弹出菜单的关闭选项

    zt在Delphi7中屏蔽word,excel左上角的弹出菜单的关闭选项

  • 转行学习3D游戏建模,你需要了解的职业分类及发展

    转行学习3D游戏建模,你需要了解的职业分类及发展王者荣耀、LOL、梦幻西游,近几年在线人数破千万,带动了越来越多的企业在游戏上的开发,3D游戏建模将游戏的画面感、真实感高度还原,给游戏者更强烈的体验感,更加身临其境。游戏模型师是目前非常热的职业岗位,目前国内动漫游戏产业已经非常成熟,需要大量优质青年加入游戏美术行业,在游戏企业里可以成为优秀的次世代场景模型师,次世代角色模型师,底模手绘贴图模型师。成功进入游戏企业之后经过项目的锻炼,薪资也会逐年有所提升。游戏建模职业分类及发展:进入游戏模型行业你可以选择不同的发展方向,比如:(1)手绘3D美术设

  • 搜索、推荐、广告系统等人工智能优质技术资源最全整理[通俗易懂]

    搜索、推荐、广告系统等人工智能优质技术资源最全整理[通俗易懂]前沿文章目录前沿开源地址[算法学习资料:AI_Tutorial](https://github.com/cbamls/AI_Tutorial)开源相关LuceneSolrElasticLucidWorks中文分词大公司阿里百度京东美团点评携程去哪儿搜狗一号店待分类开发应用理论基础源码解读常见问题其他人工智能领域文集算法学习资料:AI_Tutorial人工智能、AI架构、搜索系统、推荐系统…

  • 信息论-Turbo码学习

    信息论-Turbo码学习

    2020年11月20日
  • WindowsPhone统计图表控件 – 第三方控件visifire

    WindowsPhone统计图表控件 – 第三方控件visifire++++++++++++++++++++++++++++++++++++++++++本文系本站原创,欢迎转载!转载请注明出处:http://blog.csdn.net/mr_raptor/article/details/7230124++++++++++++++++++++++++++++++++++++++++++ Silverlight对于图形图像处理方面,从1.0时

  • 工程师的基本功是什么?如何练习?—学习心得分享「建议收藏」

    开头聊几句1、周末休息,今天下雨了,气温还行,不冷不热2、刚看完《这!就是街舞》,很燃很炸,一些作品表达的东西也很让人感动3、发现真正热爱的事情,并为之付出所有的能量,很让人羡慕开头周四上线到比较晚,好在中间有空,去公司楼下湖边散了散步,上线回到家,已经是凌晨了。周五中午在去公司的路上看到了美团技术团队的一篇文章,觉得很不错,值得学习,也分享到朋友圈了,希望保留下方便自己查阅,也分享给更多的技术伙伴,一起看好的文章。在技术之路上,不断的持续学习,持续进步,一起精进。那天朋友圈分享美团的这

发表回复

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

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