HtmlElement.Children Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá všechny podřízené HtmlElementCollection položky aktuální prvek.
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
Hodnota vlastnosti
Kolekce všech HtmlElement objektů, které mají aktuální prvek jako nadřazený prvek.
Příklady
Následující příklad kódu zkoumá libovolný dokument HTML a odvozuje řetězec popisující prvky s odsazením a čísly úrovně použitými k označení, jak jsou prvky v dokumentu vnořené. Dělá to tak, že prohledá kolekci Children všech prvků rekurzivně, počínaje elementem HTML v horní části dokumentu. Tento příklad kódu vyžaduje, aby vaše aplikace má WebBrowser ovládací prvek s názvem 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
Poznámky
Mnoho prvků uvnitř souboru HTML může obsahovat další prvky HTML pod nimi. Kolekce Children poskytuje jednoduchý mechanismus pro zkoumání struktury stromové struktury dokumentu.
Children zpřístupňuje pouze prvky, jejichž přímým nadřazením je aktuální prvek. Pokud máte HtmlElement pro prvek, TABLE poskytne vám všechny Children prvky (řádek) uvnitř objektu TRTABLE . Chcete-li načíst TD prvky (buňky) obsažené uvnitř TR prvků, budete muset použít buď kolekci Children pro každý jednotlivý TR prvek, nebo použít kolekci All v HtmlElement.
Prvky v této kolekci nejsou zaručeny ve zdrojovém pořadí.
Pokud CanHaveChildren ano false, Children bude vždy prázdný.