HtmlDocument
Class
定义
-
Assembly: System.Windows.Forms.dll -
C# public sealed class HtmlDocument
示例
下面的代码示例使用 Northwind 数据库中的数据来创建HTML TABLE 动态使用CreateElement。 AppendChild方法还使用,首先要添加的单元格 (TD 元素) 到行 (TR 元素),然后将行添加到表中,最后,将表追加到当前文档的末尾。 代码示例要求您的应用程序具有WebBrowser名为控件WebBrowser1 。 加载文档之后,应调用代码。 C# 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);
}
}
}
}
注解
HtmlDocument 提供 Internet Explorer 文档对象,也称为 HTML 文档对象模型 (DOM) 的托管的包装。 获取的实例HtmlDocument通过Document属性的WebBrowser控件。 在 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属性可让您HtmlElement上具有用户输入的焦点的 HTML 页面元素。 HTML 页中的所有元素可以都有一个名称;All集合提供对每个访问HtmlElement使用其名称作为索引。 GetElementsByTagName 将返回HtmlElementCollection的所有HtmlElement对象使用给定的 HTML 标记名称,如DIV 或TABLE 。 GetElementById 将返回单个HtmlElement对应于你提供的唯一 ID。 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。
属性
方法
事件
操作员
适用于.NET Core3.0 Preview 2 .NET Framework4.8 4.7.2 4.7.1 4.7 4.6.2 4.6.1 4.6 4.5.2 4.5.1 4.5 4.0 3.5 3.0 2.0
另请参阅
|