当前位置: 代码迷 >> ASP.NET >> 怎样把Html文本转换为System.Windows.Form.HtmlDocment对象解决思路
  详细解决方案

怎样把Html文本转换为System.Windows.Form.HtmlDocment对象解决思路

热度:1188   发布时间:2013-02-25 00:00:00.0
怎样把Html文本转换为System.Windows.Form.HtmlDocment对象
把String转换为HtmlDocment,不能用webBrowser!

------解决方案--------------------------------------------------------
帮你顶下
------解决方案--------------------------------------------------------
再顶
------解决方案--------------------------------------------------------
MSDN帮助 中 明确的显示这个类 只能是 使用 webBrowser


ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.NETDEVFX.v20.chs/CPref17/html/T_System_Windows_Forms_HtmlDocument.htm

注意:此类在 .NET Framework 2.0 版中是新增的。

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

命名空间:System.Windows.Forms
程序集:System.Windows.Forms(在 system.windows.forms.dll 中)

语法
Visual Basic(声明)
Public NotInheritable Class HtmlDocument

Visual Basic(用法)
Dim instance As HtmlDocument


C#
public sealed class HtmlDocument

C++
public ref class HtmlDocument sealed

J#
public final class HtmlDocument

JScript
public final class HtmlDocument


备注
HtmlDocument 为 Internet Explorer 的文档对象提供托管包装,该文档对象也称为 HTML 文档对象模型 (DOM)。您可以通过 WebBrowser 控件的 Document 属性获取 HtmlDocument 的实例。

HTML 文档中的 HTML 标记可以相互嵌套。因此,HtmlDocument 表示一个文档树,其子级是 HtmlElement 类的实例。下面的代码示例演示一个简单的 HTML 文件。

复制代码
<HTML>
<BODY>
<DIV name= "Span1 "> Simple HTML Form </DIV>
<FORM>
<SPAN name= "TextLabel "> Enter Your Name: </SPAN>
<INPUT type= "text " size= "20 " name= "Text1 ">
</FORM>
</BODY>
</HTML>


在此示例中,HtmlDocument 表示 HTML 标记内的整个文档。BODY、DIV、FORM 和 SPAN 标记各由一个单独的 HtmlElement 对象表示。

访问此树中的元素的方法有多种。使用 Body 属性可以访问 BODY 标记及其所有子标记。ActiveElement 属性提供 HTML 页上具有用户输入焦点的元素的 HtmlElement。HTML 页中的所有元素都可以有一个名称;All 集合将元素的名称用作索引来提供对每个 HtmlElement 的访问。GetElementsByTagName 将返回具有给定 HTML 标记名称(如 DIV 或 TABLE)的所有 HtmlElement 对象的 HtmlElementCollection。GetElementById 将返回对应于所提供的唯一 ID 的单个 HtmlElement。GetElementFromPoint 将返回可以在屏幕上所提供的鼠标指针坐标位置找到的 HtmlElement。

您也可以分别使用 Forms 和 Images 集合来循环访问表示用户输入窗体和图形的元素。

HtmlDocument 基于 Internet Explorer 的 DHTML DOM 实现的非托管接口:IHTMLDocument、IHTMLDocument2、IHTMLDocument3 和 IHTMLDocument4。HtmlDocument 只公开了这些非托管接口的最常用属性和方法。使用 DomDocument 属性(可以强制转换为所需的非托管接口指针),可以直接访问其他所有属性和方法。

HTML 文档可以包含框架,框架是 WebBrowser 控件内部的不同窗口。每个框架均显示它自己的 HTML 页。Frames 集合在没有 Window 属性的情况下也可以使用。您也可以使用 Window 属性来调整显示页的大小、滚动文档或向用户显示警报和提示。

HtmlDocument 公开在承载 HTML 页时期望处理的最常见事件。对于接口没有直接公开的事件,可以使用 AttachEventHandler 为该事件添加一个处理程序。

HTML 文件可以包含 SCRIPT 标记,这些标记封装使用活动脚本语言之一(如 JScript 或 VBScript)编写的代码。InvokeScript 方法用于执行 SCRIPT 标记中定义的属性和方法。

注意
虽然 HtmlDocument 中的大部分属性、方法和事件的名称都与非托管 DOM 上的对应项的名称相同,但为了与 .NET Framework 保持一致,某些名称已发生了改变。


示例
下面的代码示例通过 CreateElement,使用 Northwind 数据库中的数据动态创建一个 HTML TABLE。此外,还使用 AppendChild 方法,首先向行(TR 元素)中添加单元格(TD 元素),然后向表中添加行,最后将表追加到当前文档的末尾。该代码示例要求应用程序具有一个称为 WebBrowser1 的 WebBrowser 控件。

Visual Basic 复制代码
Private Sub DisplayCustomersTable()
' Initialize the database connection.
Dim CustomerData As New DataSet()
Dim CustomerTable As DataTable

Try
Dim DBConn As New SqlConnection( "Data Source=CLIENTUE;Integrated Security=SSPI;Initial Catalog=Northwind; ")
Dim DBQuery As New SqlDataAdapter( "SELECT * FROM CUSTOMERS ", DBConn)
DBQuery.Fill(CustomerData)
Catch dbEX As DataException

End Try

CustomerTable = CustomerData.Tables( "Customers ")

If (Not (WebBrowser1.Document Is Nothing)) Then
  相关解决方案