HtmlElement.Children Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera wszystkie HtmlElementCollection elementy podrzędne bieżącego elementu.
public:
property System::Windows::Forms::HtmlElementCollection ^ Children { System::Windows::Forms::HtmlElementCollection ^ get(); };
public System.Windows.Forms.HtmlElementCollection Children { get; }
member this.Children : System.Windows.Forms.HtmlElementCollection
Public ReadOnly Property Children As HtmlElementCollection
Wartość właściwości
Kolekcja wszystkich HtmlElement obiektów, które mają bieżący element jako element nadrzędny.
Przykłady
Poniższy przykład kodu analizuje dowolny dokument HTML i tworzy ciąg opisujący elementy, z wcięciem i numerami poziomów używanymi do wskazania, jak głęboko zagnieżdżone elementy znajdują się w dokumencie. Robi to, przeszukując Children
kolekcję wszystkich elementów rekursywnie, zaczynając od elementu HTML w górnej części dokumentu. Ten przykładowy kod wymaga, aby aplikacja ma kontrolkę WebBrowser o nazwie 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
Uwagi
Wiele elementów wewnątrz pliku HTML może mieć pod nimi inne elementy HTML. Kolekcja Children udostępnia prosty mechanizm eksplorowania struktury drzewa dokumentu.
Children Ujawnia tylko elementy, których bezpośredni element nadrzędny jest bieżącym elementem. Jeśli masz HtmlElement element dla TABLE
elementu, Children nada wszystkie TR
elementy (wiersz) wewnątrz elementu TABLE
. Aby pobrać TD
elementy (komórki) zawarte wewnątrz TR
elementów, należy użyć Children kolekcji dla każdego pojedynczego TR
elementu lub użyć kolekcji w elemecie AllHtmlElement.
Elementy w tej kolekcji nie są gwarantowane w kolejności źródłowej.
Jeśli CanHaveChildren parametr ma false
wartość , Children
zawsze będzie pusty.