¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
¿Tiene comentarios adicionales?
Caracteres restantes: 1500
Exportar (0) Imprimir
Expandir todo

HtmlElement (Clase)

Representa un elemento HTML dentro de una página Web.

Espacio de nombres: System.Windows.Forms
Ensamblado: System.Windows.Forms (en system.windows.forms.dll)

public sealed class HtmlElement
public final class HtmlElement
public final class HtmlElement
No aplicable.

La clase HtmlElement representa cualquier tipo de elemento que pueda haber en un documento HTML, como BODY, TABLE y FORM, entre otros. La clase expone las propiedades más comunes que es previsible encontrar en todos los elementos.

La mayor parte de los elementos pueden tener elementos secundarios: otros elementos HTML situados por debajo de ellos. Utilice la propiedad CanHaveChildren para comprobar si un elemento determinado tiene elementos secundarios, y la colección Children para recorrer en iteración estos elementos. La propiedad Parent devuelve el objeto HtmlElement en el que está anidado el elemento actual.

Necesitará obtener acceso con frecuencia a los atributos, propiedades y métodos del elemento subyacente que el objeto HtmlElement no expone directamente, como el atributo SRC de un elemento IMG o el método Submit de FORM. Los métodos GetAttribute y SetAttribute le permiten recuperar y modificar cualquier atributo o propiedad de un elemento específico, mientras que el método InvokeMember proporciona acceso a cualquiera de los métodos que no se exponen en el Modelo de objetos de documento (DOM, Document Object Model) administrado. Si la aplicación dispone del permiso de código no administrado, también podrá obtener acceso a las propiedades y a los métodos no expuestos con el atributo DomElement.

Utilice la propiedad TagName para comprobar si un elemento es de un tipo específico.

Cualquier documento HTML puede modificarse en tiempo de ejecución. Puede crear nuevos objetos HtmlElement con el método CreateElement de HtmlDocument y agregarlos a otro elemento utilizando el método AppendChild o InsertAdjacentElement. También puede crear los elementos como etiquetas HTML y asignárselos a la propiedad InnerHtml de un elemento existente.

En el siguiente ejemplo de código se muestra cómo examinar un documento HTML arbitrario y cómo derivar una cadena que describa los elementos HTML, con una sangría y números de nivel que indiquen la profundidad con la que están anidados los elementos del documento. Este ejemplo de código requiere que la aplicación aloje un control WebBrowser denominado WebBrowser1.

private void PrintDomBegin()
{
    if (webBrowser1.Document != null)
    {
        HtmlElementCollection elemColl = null;
        HtmlDocument doc = webBrowser1.Document;
        if (doc != null)
        {
            elemColl = doc.GetElementsByTagName("HTML");
            String str = PrintDom(elemColl, new System.Text.StringBuilder(), 0);
            webBrowser1.DocumentText = str;
        }
    }
}

private string PrintDom(HtmlElementCollection elemColl, System.Text.StringBuilder returnStr, Int32 depth)
{
    System.Text.StringBuilder str = new System.Text.StringBuilder();

    foreach (HtmlElement elem in elemColl)
    {
        string elemName;

        elemName = elem.GetAttribute("ID");
        if (elemName == null || elemName.Length == 0)
        {
            elemName = elem.GetAttribute("name");
            if (elemName == null || elemName.Length == 0)
            {
                elemName = "<no name>";
            }
        }

        str.Append(' ', depth * 4);
        str.Append(elemName + ": " + elem.TagName + "(Level " + depth + ")");
        returnStr.AppendLine(str.ToString());

        if (elem.CanHaveChildren)
        {
            PrintDom(elem.Children, returnStr, depth + 1);
        }

        str.Remove(0, str.Length);
    }

    return(returnStr.ToString());
}

System.Object
  System.Windows.Forms.HtmlElement

Los miembros estáticos públicos (Shared en Visual Basic) de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Windows 98, Windows 2000 Service Pack 4, Windows CE, Windows Millennium, Windows Mobile para Pocket PC, Windows Mobile para Smartphone, Windows Server 2003, Windows XP Media Center, Windows XP Professional x64, Windows XP SP2, Windows XP Starter

Microsoft .NET Framework 3.0 es compatible con Windows Vista, Microsoft Windows XP SP2 y Windows Server 2003 SP1.

.NET Framework

Compatible con: 3.0, 2.0
Mostrar:
© 2015 Microsoft