HtmlDocument Clase

Definición

Proporciona acceso mediante programación de nivel superior a un documento HTML hospedado por el control WebBrowser.Provides top-level programmatic access to an HTML document hosted by the WebBrowser control.

public ref class HtmlDocument sealed
public sealed class HtmlDocument
type HtmlDocument = class
Public NotInheritable Class HtmlDocument
Herencia
HtmlDocument

Ejemplos

El siguiente ejemplo de código usa los datos de la base de datos Northwind para crear un HTML TABLE dinámicamente mediante CreateElement.The following code example uses data from the Northwind database to create an HTML TABLE dynamically using CreateElement. El AppendChild primero método también se utiliza para agregar celdas (TD elementos) a las filas (TR elementos), a continuación, agregar filas a la tabla y, finalmente, para anexar la tabla al final del documento actual.The AppendChild method is also used, first to add cells (TD elements) to rows (TR elements), then to add rows to the table, and finally to append the table to the end of the current document. El ejemplo de código requiere que la aplicación tenga un WebBrowser control denominado WebBrowser1.The code example requires that your application has a WebBrowser control named WebBrowser1. El código debe llamarse una vez cargado un documento.The code should be called after a document has been loaded.

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 Sub DisplayCustomersTable()
    ' Initialize the database connection.
    Dim CustomerData As New DataSet()
    Dim CustomerTable As DataTable

    Try
        Dim DBConn As New SqlConnection("Data Source=localhost;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
        With WebBrowser1.Document
            Dim TableElem As HtmlElement = .CreateElement("TABLE")
            .Body.AppendChild(TableElem)

            Dim TableRow As HtmlElement

            ' Create the table header. 
            Dim TableHeader As HtmlElement = .CreateElement("THEAD")
            TableElem.AppendChild(TableHeader)
            TableRow = .CreateElement("TR")
            TableHeader.AppendChild(TableRow)

            Dim HeaderElem As HtmlElement
            For Each Col As DataColumn In CustomerTable.Columns
                HeaderElem = .CreateElement("TH")
                HeaderElem.InnerText = Col.ColumnName
                TableRow.AppendChild(HeaderElem)
            Next

            ' Create table rows.
            Dim TableBody As HtmlElement = .CreateElement("TBODY")
            TableElem.AppendChild(TableBody)
            For Each Row As DataRow In CustomerTable.Rows
                TableRow = .CreateElement("TR")
                TableBody.AppendChild(TableRow)
                For Each Col As DataColumn In CustomerTable.Columns
                    Dim Item As Object = Row(Col)
                    Dim TableCell As HtmlElement = .CreateElement("TD")
                    If Not (TypeOf (Item) Is DBNull) Then
                        TableCell.InnerText = CStr(Item)
                    End If
                    TableRow.AppendChild(TableCell)
                Next
            Next

        End With
    End If
End Sub

Comentarios

HtmlDocument Proporciona un contenedor administrado alrededor del objeto de documento de Internet Explorer, también conocido como el HTML Document Object Model (DOM).HtmlDocument provides a managed wrapper around Internet Explorer's document object, also known as the HTML Document Object Model (DOM). Obtener una instancia de HtmlDocument a través de la Document propiedad de la WebBrowser control.You obtain an instance of HtmlDocument through the Document property of the WebBrowser control.

Etiquetas HTML dentro de un documento HTML se pueden anidar unas dentro de otras.HTML tags inside of an HTML document can be nested inside one another. HtmlDocument por lo tanto, representa un árbol de documentos, cuyos elementos secundarios son instancias de la HtmlElement clase.HtmlDocument thus represents a document tree, whose children are instances of the HtmlElement class. El ejemplo de código siguiente muestra un archivo HTML simple.The following code example shows a simple HTML file.

<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>  

En este ejemplo, HtmlDocument representa todo el documento dentro de la HTML etiquetas.In this example, HtmlDocument represents the entire document inside the HTML tags. El BODY, DIV, FORM y SPAN las etiquetas se representan por individuo HtmlElement objetos.The BODY, DIV, FORM and SPAN tags are represented by individual HtmlElement objects.

Hay varias maneras puede tener acceso a los elementos de este árbol.There are several ways you can access the elements in this tree. Use la Body propiedad para tener acceso a la BODY etiqueta y todos sus elementos secundarios.Use the Body property to access the BODY tag and all of its children. El ActiveElement propiedad le da la HtmlElement para el elemento en una página HTML que tiene el foco de entrada del usuario.The ActiveElement property gives you the HtmlElement for the element on an HTML page that has user input focus. Todos los elementos dentro de una página HTML pueden tener un nombre; el All colección proporciona acceso a cada HtmlElement utilizando su nombre como un índice.All elements within an HTML page can have a name; the All collection provides access to each HtmlElement using its name as an index. GetElementsByTagName devolverá un HtmlElementCollection de todos los HtmlElement objetos con un nombre de etiqueta HTML determinado, como DIV o TABLE.GetElementsByTagName will return an HtmlElementCollection of all HtmlElement objects with a given HTML tag name, such as DIV or TABLE. GetElementById Devuelve el único HtmlElement correspondiente al identificador único que suministre.GetElementById will return the single HtmlElement corresponding to the unique ID that you supply. GetElementFromPoint devolverá el HtmlElement que pueden encontrarse en la pantalla en las coordenadas del puntero del mouse proporcionados.GetElementFromPoint will return the HtmlElement that can be found on the screen at the supplied mouse pointer coordinates.

También puede usar el Forms y Images colección para recorrer en iteración los elementos que representan el usuario ingresa formularios y gráficos, respectivamente.You can also use the Forms and Images collection to iterate through elements that represent user input forms and graphics, respectively.

HtmlDocument se basa en las interfaces no administradas implementadas por DOM DHTML de Internet Explorer: IHTMLDocument, IHTMLDocument2, IHTMLDocument3, y IHTMLDocument4.HtmlDocument is based on the unmanaged interfaces implemented by Internet Explorer's DHTML DOM: IHTMLDocument, IHTMLDocument2, IHTMLDocument3, and IHTMLDocument4. Solo las propiedades utilizadas con frecuencia y se exponen métodos en estas interfaces no administradas por HtmlDocument.Only the most frequently used properties and methods on these unmanaged interfaces are exposed by HtmlDocument. Puede tener acceso a todas las demás propiedades y métodos directamente mediante el DomDocument propiedad, que puede convertirse en el puntero de interfaz no administrada deseado.You can access all other properties and methods directly using the DomDocument property, which you can cast to the desired unmanaged interface pointer.

Un documento HTML puede contener marcos, que son ventanas diferentes dentro de la WebBrowser control.An HTML document may contain frames, which are different windows inside of the WebBrowser control. Cada marco muestra su propia página HTML.Each frame displays its own HTML page. El Frames está disponible a través de la colección el Window propiedad.The Frames collection is available through the Window property. También puede usar el Window propiedad para cambiar el tamaño de la página mostrada, desplace el documento o mostrar las alertas y pide al usuario.You may also use the Window property to resize the displayed page, scroll the document, or display alerts and prompts to the user.

HtmlDocument expone los eventos más comunes que se esperaría para controlar al hospedar páginas HTML.HtmlDocument exposes the most common events you would expect to handle when hosting HTML pages. Para los eventos no se exponen directamente mediante la interfaz, puede agregar un controlador para el evento con AttachEventHandler.For events not exposed directly by the interface, you can add a handler for the event using AttachEventHandler.

Pueden contener archivos HTML SCRIPT etiquetas que encapsulan código escrito en uno de los lenguajes Active Scripting como VBScript o JScript.HTML files may contain SCRIPT tags that encapsulate code written in one of the Active Scripting languages, such as JScript or VBScript. El InvokeScript método proporciona para la ejecución de las propiedades y métodos definidos en un SCRIPT etiqueta.The InvokeScript method provides for execution of properties and methods defined in a SCRIPT tag.

Nota

Aunque la mayor parte de las propiedades, métodos y eventos en HtmlDocument han mantenido los mismos nombres que tienen en el DOM no administrado, algunos se han cambiado por coherencia con el .NET Framework.NET Framework.While most of the properties, methods, and events on HtmlDocument have kept the same names as they have on the unmanaged DOM, some have been changed for consistency with the .NET Framework.NET Framework.

Propiedades

ActiveElement

Proporciona el elemento HtmlElement que tiene actualmente el foco de entrada del usuario.Provides the HtmlElement which currently has user input focus.

ActiveLinkColor

Obtiene o establece el Color de un hipervínculo cuando un usuario hace clic en él.Gets or sets the Color of a hyperlink when clicked by a user.

All

Obtiene una instancia de HtmlElementCollection, que almacena todos los objetos HtmlElement para el documento.Gets an instance of HtmlElementCollection, which stores all HtmlElement objects for the document.

BackColor

Obtiene o establece el color de fondo del documento HTML.Gets or sets the background color of the HTML document.

Body

Obtiene el objeto HtmlElement para la etiqueta BODY.Gets the HtmlElement for the BODY tag.

Cookie

Obtiene o establece las cookies HTTP asociadas a este documento.Gets or sets the HTTP cookies associated with this document.

DefaultEncoding

Obtiene la codificación utilizada de manera predeterminada para el documento actual.Gets the encoding used by default for the current document.

Domain

Obtiene o establece la cadena que describe el dominio de este documento por motivos de seguridad.Gets or sets the string describing the domain of this document for security purposes.

DomDocument

Obtiene el puntero de interfaz no administrada para este HtmlDocument.Gets the unmanaged interface pointer for this HtmlDocument.

Encoding

Obtiene o establece la codificación de caracteres para este documento.Gets or sets the character encoding for this document.

Focused

Obtiene un valor que indica si el documento tiene el foco de entrada del usuario.Gets a value indicating whether the document has user input focus.

ForeColor

Obtiene o establece el color del texto del documento.Gets or sets the text color for the document.

Forms

Obtiene una colección de todos los elementos <FORM> del documento.Gets a collection of all of the <FORM> elements in the document.

Images

Obtiene una colección de todas las etiquetas de imagen del documento.Gets a collection of all image tags in the document.

LinkColor

Obtiene o establece el color de los hipervínculos.Gets or sets the color of hyperlinks.

Links

Obtiene una lista de todos los hipervínculos que hay dentro de este documento HTML.Gets a list of all the hyperlinks within this HTML document.

RightToLeft

Obtiene o establece la dirección del texto del documento actual.Gets or sets the direction of text in the current document.

Title

Obtiene o establece el valor de texto de la etiqueta <TITLE> en el documento HTML actual.Gets or sets the text value of the <TITLE> tag in the current HTML document.

Url

Obtiene la dirección URL que describe la ubicación de este documento.Gets the URL describing the location of this document.

VisitedLinkColor

Obtiene o establece el color de los vínculos en las páginas HTML que el usuario ya ha visitado.Gets or sets the Color of links to HTML pages that the user has already visited.

Window

Obtiene el objeto HtmlWindow asociado con este documento.Gets the HtmlWindow associated with this document.

Métodos

AttachEventHandler(String, EventHandler)

Agrega un controlador de eventos para el evento de DOM de HTML indicado.Adds an event handler for the named HTML DOM event.

CreateElement(String)

Crea un nuevo HtmlElement del tipo de etiqueta HTML especificado.Creates a new HtmlElement of the specified HTML tag type.

DetachEventHandler(String, EventHandler)

Quita un controlador de eventos de un evento con nombre en el DOM de HTML.Removes an event handler from a named event on the HTML DOM.

Equals(Object)

Prueba el objeto para ver si es igual que el objeto actual.Tests the object for equality against the current object.

ExecCommand(String, Boolean, Object)

Ejecuta el comando especificado sobre el documento.Executes the specified command against the document.

Focus()

Establece el foco de entrada del usuario en el documento actual.Sets user input focus on the current document.

GetElementById(String)

Recupera un único HtmlElement usando el atributo ID del elemento como clave de búsqueda.Retrieves a single HtmlElement using the element's ID attribute as a search key.

GetElementFromPoint(Point)

Recupera el elemento HTML situado en las coordenadas del cliente especificadas.Retrieves the HTML element located at the specified client coordinates.

GetElementsByTagName(String)

Recupera una colección de elementos con la etiqueta HTML especificada.Retrieve a collection of elements with the specified HTML tag.

GetHashCode()

Recupera el código hash para este objeto.Retrieves the hash code for this object.

GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
InvokeScript(String)

Ejecuta una función de Active Scripting definida en una página HTML.Executes an Active Scripting function defined in an HTML page.

InvokeScript(String, Object[])

Ejecuta una función de Active Scripting definida en una página HTML.Executes an Active Scripting function defined in an HTML page.

MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
OpenNew(Boolean)

Obtiene un nuevo HtmlDocument que se utilizará con el método Write(String).Gets a new HtmlDocument to use with the Write(String) method.

ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
Write(String)

Escribe una nueva página HTML.Writes a new HTML page.

Operadores

Equality(HtmlDocument, HtmlDocument)

Devuelve un valor que indica si las instancias especificadas de HtmlDocument representan el mismo valor.Returns a value that indicates whether the specified HtmlDocument instances represent the same value.

Inequality(HtmlDocument, HtmlDocument)

Devuelve un valor que indica si las instancias especificadas de HtmlDocument no representan el mismo valor.Returns a value that indicates whether the specified HtmlDocument instances do not represent the same value.

Eventos

Click

Se produce cuando el usuario hace clic en cualquier lugar del documento.Occurs when the user clicks anywhere on the document.

ContextMenuShowing

Se produce cuando el usuario solicita mostrar el menú contextual del documento.Occurs when the user requests to display the document's context menu.

Focusing

Se produce antes de dar el foco al documento.Occurs before focus is given to the document.

LosingFocus

Se produce mientras el foco está abandonando un control.Occurs while focus is leaving a control.

MouseDown

Se produce cuando el usuario hace clic con el botón primario del mouse.Occurs when the user clicks the left mouse button.

MouseLeave

Se produce cuando el mouse ya no se está desplazando sobre el documento.Occurs when the mouse is no longer hovering over the document.

MouseMove

Se produce cuando el puntero del mouse se mueve sobre el documento.Occurs when the mouse is moved over the document.

MouseOver

Se produce cuando el puntero del mouse se mueve sobre el documento.Occurs when the mouse is moved over the document.

MouseUp

Se produce cuando el usuario suelta el botón primario del mouse.Occurs when the user releases the left mouse button.

Stop

Se produce cuando se detiene la navegación a otra página web.Occurs when navigation to another Web page is halted.

Se aplica a

Consulte también: