Condividi tramite


HtmlElement Classe

Definizione

Rappresenta un elemento HTML all'interno di una pagina Web.

public ref class HtmlElement sealed
public sealed class HtmlElement
type HtmlElement = class
Public NotInheritable Class HtmlElement
Ereditarietà
HtmlElement

Esempio

Nell'esempio di codice seguente viene illustrato come esaminare un documento HTML arbitrario e derivare una stringa che descrive gli elementi HTML, con i numeri di rientro e di livello usati per indicare in che modo gli elementi sono annidati in profondità nel documento. Questo esempio di codice richiede che l'applicazione ospiti un WebBrowser controllo denominato 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());
}
Private Sub PrintDomBegin()
    If (WebBrowser1.Document IsNot Nothing) Then
        Dim ElemColl As HtmlElementCollection

        Dim Doc As HtmlDocument = WebBrowser1.Document
        If (Not (Doc Is Nothing)) Then
            ElemColl = Doc.GetElementsByTagName("HTML")
            Dim Str As String = PrintDom(ElemColl, New System.Text.StringBuilder(), 0)

            WebBrowser1.DocumentText = Str
        End If
    End If
End Sub

Private Function PrintDom(ByVal ElemColl As HtmlElementCollection, ByRef ReturnStr As System.Text.StringBuilder, ByVal Depth As Integer) As String
    Dim Str As New System.Text.StringBuilder()

    For Each Elem As HtmlElement In ElemColl
        Dim ElemName As String

        ElemName = Elem.GetAttribute("ID")
        If (ElemName Is Nothing Or ElemName.Length = 0) Then
            ElemName = Elem.GetAttribute("name")
            If (ElemName Is Nothing Or ElemName.Length = 0) Then
                ElemName = "<no name>"
            End If
        End If

        Str.Append(CChar(" "), Depth * 4)
        Str.Append(ElemName & ": " & Elem.TagName & "(Level " & Depth & ")")
        ReturnStr.AppendLine(Str.ToString())

        If (Elem.CanHaveChildren) Then
            PrintDom(Elem.Children, ReturnStr, Depth + 1)
        End If

        Str.Remove(0, Str.Length)
    Next

    PrintDom = ReturnStr.ToString()
End Function

Commenti

HtmlElement rappresenta qualsiasi tipo di elemento possibile in un documento HTML, ad esempio BODY, TABLEe FORM, tra gli altri. La classe espone le proprietà più comuni che è possibile trovare in tutti gli elementi.

La maggior parte degli elementi può avere elementi figlio: altri elementi HTML posizionati sotto di essi. Utilizzare la CanHaveChildren proprietà per verificare se un determinato elemento include elementi figlio e l'insieme Children per scorrere tali elementi. La Parent proprietà restituisce l'oggetto HtmlElement in cui l'elemento corrente è annidato.

Spesso è necessario accedere a attributi, proprietà e metodi sull'elemento sottostante che non sono esposti direttamente da HtmlElement, ad esempio l'attributo SRC su un IMG elemento o il Submit metodo in un FORMoggetto . I GetAttribute metodi e SetAttribute consentono di recuperare e modificare qualsiasi attributo o proprietà su un elemento specifico, mentre InvokeMember fornisce l'accesso a qualsiasi metodo non esposto nel dom (Document Object Model) gestito. Se l'applicazione dispone dell'autorizzazione di codice non gestito, è anche possibile accedere a proprietà e metodi non esposti con l'attributo DomElement .

Utilizzare la TagName proprietà per verificare se un elemento è di un tipo specifico.

Qualsiasi documento HTML può essere modificato in fase di esecuzione. È possibile creare nuovi HtmlElement oggetti con il CreateElement metodo di HtmlDocumente aggiungerli a un altro elemento usando i AppendChild metodi o InsertAdjacentElement . È anche possibile creare gli elementi come tag HTML e assegnarli alla proprietà di InnerHtml un elemento esistente.

Proprietà

Nome Descrizione
All

Ottiene un oggetto HtmlElementCollection di tutti gli elementi sotto l'elemento corrente.

CanHaveChildren

Ottiene un valore che indica se questo elemento può avere elementi figlio.

Children

Ottiene un oggetto HtmlElementCollection di tutti gli elementi figlio dell'elemento corrente.

ClientRectangle

Ottiene i limiti dell'area client dell'elemento nel documento HTML.

Document

Ottiene l'oggetto HtmlDocument a cui appartiene questo elemento.

DomElement

Ottiene un puntatore all'interfaccia non gestito per questo elemento.

Enabled

Ottiene o imposta un valore che indica se l'utente può inserire dati in questo elemento.

FirstChild

Ottiene l'elemento successivo sotto questo elemento nell'albero del documento.

Id

Ottiene o imposta un'etichetta in base alla quale identificare l'elemento.

InnerHtml

Ottiene o imposta il markup HTML sotto questo elemento.

InnerText

Ottiene o imposta il testo assegnato all'elemento .

Name

Ottiene o imposta il nome dell'elemento.

NextSibling

Ottiene l'elemento successivo allo stesso livello di questo elemento nell'albero del documento.

OffsetParent

Ottiene l'elemento da cui OffsetRectangle viene calcolato.

OffsetRectangle

Ottiene la posizione di un elemento rispetto al relativo elemento padre.

OuterHtml

Ottiene o imposta il codice HTML dell'elemento corrente.

OuterText

Ottiene o imposta il testo dell'elemento corrente.

Parent

Ottiene l'elemento padre dell'elemento corrente.

ScrollLeft

Ottiene o imposta la distanza tra il bordo dell'elemento e il bordo sinistro del relativo contenuto.

ScrollRectangle

Ottiene le dimensioni dell'area scorrevole di un elemento.

ScrollTop

Ottiene o imposta la distanza tra il bordo dell'elemento e il bordo superiore del relativo contenuto.

Style

Ottiene o imposta un elenco di stili delimitato da punto e virgola per l'elemento corrente.

TabIndex

Ottiene o imposta la posizione di questo elemento nell'ordine di tabulazioni.

TagName

Ottiene il nome del tag HTML.

Metodi

Nome Descrizione
AppendChild(HtmlElement)

Aggiunge un elemento al sottoalbero di un altro elemento.

AttachEventHandler(String, EventHandler)

Aggiunge un gestore eventi per un evento denominato nel DOM (Document Object Model) HTML.

DetachEventHandler(String, EventHandler)

Rimuove un gestore eventi da un evento denominato nel DOM (Document Object Model) HTML.

Equals(Object)

Verifica se l'oggetto fornito è uguale all'elemento corrente.

Focus()

Sposta lo stato attivo dell'input dell'utente sull'elemento corrente.

GetAttribute(String)

Recupera il valore dell'attributo denominato nell'elemento .

GetElementsByTagName(String)

Recupera una raccolta di elementi rappresentati in HTML dal tag specificato HTML .

GetHashCode()

Funge da funzione hash per un particolare tipo.

GetType()

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
InsertAdjacentElement(HtmlElementInsertionOrientation, HtmlElement)

Inserire un nuovo elemento nel DOM (Document Object Model).

InvokeMember(String, Object[])

Esegue una funzione definita nella pagina HTML corrente da un linguaggio di scripting.

InvokeMember(String)

Esegue un metodo non esposto sull'elemento DOM sottostante di questo elemento.

MemberwiseClone()

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
RaiseEvent(String)

Fa sì che l'evento denominato chiami tutti i gestori eventi registrati.

RemoveFocus()

Rimuove lo stato attivo dall'elemento corrente, se l'elemento ha lo stato attivo.

ScrollIntoView(Boolean)

Scorre il documento contenente questo elemento fino a quando il bordo superiore o inferiore di questo elemento è allineato alla finestra del documento.

SetAttribute(String, String)

Imposta il valore dell'attributo denominato sull'elemento .

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Operatori

Nome Descrizione
Equality(HtmlElement, HtmlElement)

Confronta due elementi per verificare l'uguaglianza.

Inequality(HtmlElement, HtmlElement)

Confronta due oggetti HtmlElement per stabilirne la disuguaglianza.

Eventi

Nome Descrizione
Click

Si verifica quando l'utente fa clic sull'elemento con il pulsante sinistro del mouse.

DoubleClick

Si verifica quando l'utente fa clic sul pulsante sinistro del mouse su un elemento due volte, in rapida successione.

Drag

Si verifica quando l'utente trascina il testo in varie posizioni.

DragEnd

Si verifica quando un utente termina un'operazione di trascinamento.

DragLeave

Si verifica quando l'utente non trascina più un elemento su questo elemento.

DragOver

Si verifica quando l'utente trascina il testo sull'elemento.

Focusing

Si verifica quando l'elemento riceve per la prima volta lo stato attivo dell'input dell'utente.

GotFocus

Si verifica quando l'elemento ha ricevuto lo stato attivo per l'input dell'utente.

KeyDown

Si verifica quando l'utente preme un tasto sulla tastiera.

KeyPress

Si verifica quando l'utente preme e rilascia un tasto sulla tastiera.

KeyUp

Si verifica quando l'utente rilascia un tasto sulla tastiera.

LosingFocus

Si verifica quando l'elemento perde lo stato attivo dell'input dell'utente.

LostFocus

Si verifica quando l'elemento ha perso lo stato attivo per l'input dell'utente.

MouseDown

Si verifica quando l'utente preme un pulsante del mouse.

MouseEnter

Si verifica quando l'utente sposta per la prima volta il cursore del mouse sull'elemento corrente.

MouseLeave

Si verifica quando l'utente sposta il cursore del mouse all'esterno dell'elemento corrente.

MouseMove

Si verifica quando l'utente sposta il cursore del mouse sull'elemento.

MouseOver

Si verifica quando il cursore del mouse entra nei limiti dell'elemento.

MouseUp

Si verifica quando l'utente rilascia un pulsante del mouse.

Si applica a

Vedi anche