XContainer.Descendants Metodo

Definizione

Restituisce una raccolta di elementi discendenti del documento o elemento nell'ordine dei documenti.

Overload

Descendants()

Restituisce una raccolta di elementi discendenti del documento o elemento nell'ordine dei documenti.

Descendants(XName)

Restituisce una raccolta filtrata degli elementi discendenti di questo documento o elemento nell'ordine dei documenti. Solo gli elementi che hanno un oggetto XName corrispondente vengono inclusi nella raccolta.

Commenti

Questo metodo usa l'esecuzione posticipata.

Descendants()

Origine:
XContainer.cs
Origine:
XContainer.cs
Origine:
XContainer.cs

Restituisce una raccolta di elementi discendenti del documento o elemento nell'ordine dei documenti.

C#
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Descendants();

Restituisce

IEnumerable<T> di XElement che contiene gli elementi discendenti del XContainer.

Esempio

L'esempio seguente crea un albero XML e quindi usa questo metodo asse per recuperare i discendenti.

C#
XElement xmlTree = new XElement("Root",  
    new XAttribute("Att1", "AttributeContent"),  
    new XElement("Child",  
        new XText("Some text"),  
        new XElement("GrandChild", "element content")  
    )  
);  
IEnumerable<XElement> de =  
    from el in xmlTree.Descendants()  
    select el;  
foreach (XElement el in de)  
    Console.WriteLine(el.Name);  

Nell'esempio viene prodotto l'output seguente:

Child  
GrandChild  

Commenti

Si noti che questo metodo non restituirà se stesso nell'oggetto risultante IEnumerable<T>. Vedere DescendantsAndSelf se è necessario includere l'oggetto corrente XElement nei risultati.

Questo metodo usa l'esecuzione posticipata.

Vedi anche

Si applica a

.NET 10 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

Descendants(XName)

Origine:
XContainer.cs
Origine:
XContainer.cs
Origine:
XContainer.cs

Restituisce una raccolta filtrata degli elementi discendenti di questo documento o elemento nell'ordine dei documenti. Solo gli elementi che hanno un oggetto XName corrispondente vengono inclusi nella raccolta.

C#
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Descendants(System.Xml.Linq.XName name);
C#
public System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement> Descendants(System.Xml.Linq.XName? name);

Parametri

name
XName

Oggetto XName di cui trovare la corrispondenza.

Restituisce

IEnumerable<T> di XElement contenente gli elementi discendenti del XContainer che corrispondono al XName specificato.

Esempio

Nell'esempio seguente vengono stampati tutti i discendenti di un elemento.

C#
// Attributes are not nodes, so will not be returned by DescendantNodes.  
XElement xmlTree = new XElement("Root",  
    new XAttribute("Att1", "AttributeContent"),  
    new XElement("Child",  
        new XText("Some text"),  
        new XElement("GrandChild", "element content")  
    )  
);  
IEnumerable<XElement> de =  
    from el in xmlTree.Descendants("Child")  
    select el;  
foreach (XElement el in de)  
    Console.WriteLine(el.Name);  

Nell'esempio viene prodotto l'output seguente:

Child  

Di seguito è riportato lo stesso esempio, ma in questo caso il codice XML si trova in uno spazio dei nomi. Per altre informazioni, vedere Usare gli spazi dei nomi XML.

C#
// Attributes are not nodes, so will not be returned by DescendantNodes.  
XNamespace aw = "http://www.adventure-works.com";  
XElement xmlTree = new XElement(aw + "Root",  
    new XAttribute(aw + "Att1", "AttributeContent"),  
    new XElement(aw + "Child",  
        new XText("Some text"),  
        new XElement(aw + "GrandChild", "element content")  
    )  
);  
IEnumerable<XElement> de =  
    from el in xmlTree.Descendants(aw + "Child")  
    select el;  
foreach (XElement el in de)  
    Console.WriteLine(el.Name);  

Nell'esempio viene prodotto l'output seguente:

{http://www.adventure-works.com}Child  

Commenti

Questo metodo usa l'esecuzione posticipata.

Vedi anche

Si applica a

.NET 10 e altre versioni
Prodotto Versioni
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0