Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Extensions.Descendants<T>(IEnumerable<T>)

 

Data di pubblicazione: ottobre 2016

Restituisce una raccolta di elementi che contiene gli elementi discendenti di ciascun elemento e il documento nella raccolta di origine.

Spazio dei nomi:   System.Xml.Linq
Assembly:  System.Xml.Linq (in System.Xml.Linq.dll)

public static IEnumerable<XElement> Descendants<T>(
	this IEnumerable<T> source
)
where T : XContainer

Parametri

source
Type: System.Collections.Generic.IEnumerable<T>

Un IEnumerable<T> di XContainer che contiene la raccolta di origine.

Valore restituito

Type: System.Collections.Generic.IEnumerable<XElement>

Un IEnumerable<T> di XElement che contiene gli elementi discendenti di ciascun elemento e il documento nella raccolta di origine.

Parametri tipo

T

Il tipo degli oggetti in source, vincolato a XContainer.

Gli utenti di Visual Basic è possono utilizzare l'asse descendant XML integrato per recuperare gli elementi discendenti di un insieme. Tuttavia, l'asse integrato recupera solo i discendenti con un nome specificato. Se gli utenti di Visual Basic desiderano recuperare tutti i discendenti, è necessario utilizzare questo metodo dell'asse in modo esplicito.

Questo metodo utilizza l'esecuzione posticipata.

Nell'esempio seguente viene recuperato un insieme di elementi e quindi utilizza questo metodo dell'asse per recuperare tutti gli elementi discendenti di ogni elemento nella raccolta di elementi.


                XElement xmlTree = XElement.Parse(
@"<Root>
    <Para>
        <t>This is some text </t>
        <b>
            <t>where</t>
        </b>
        <t> all of the nodes must be concatenated. </t>
    </Para>
    <Para>
        <t>This is a second sentence.</t>
    </Para>
</Root>");

IEnumerable<XElement> elList =
    from el in xmlTree.Elements("Para").Descendants()
    select el;

foreach (XElement el in elList)
    Console.WriteLine(el);

Questo esempio produce il seguente output:

<t>This is some text </t>
<b>
  <t>where</t>
</b>
<t>where</t>
<t> all of the nodes must be concatenated. </t>
<t>This is a second sentence.</t>

L'esempio seguente è il medesimo, ma in questo caso il codice XML è in uno spazio dei nomi. Per altre informazioni, vedere Utilizzo degli spazi dei nomi XML.


                XNamespace aw = "http://www.adventure-works.com";
XElement xmlTree = XElement.Parse(
@"<Root xmlns='http://www.adventure-works.com'>
    <Para>
        <t>This is some text </t>
        <b>
            <t>where</t>
        </b>
        <t> all of the nodes must be concatenated. </t>
    </Para>
    <Para>
        <t>This is a second sentence.</t>
    </Para>
</Root>");

IEnumerable<XElement> elList =
    from el in xmlTree.Elements(aw + "Para").Descendants()
    select el;

foreach (XElement el in elList)
    Console.WriteLine(el);

Questo esempio produce il seguente output:

<t xmlns="http://www.adventure-works.com">This is some text </t>
<b xmlns="http://www.adventure-works.com">
  <t>where</t>
</b>
<t xmlns="http://www.adventure-works.com">where</t>
<t xmlns="http://www.adventure-works.com"> all of the nodes must be concatenated. </t>
<t xmlns="http://www.adventure-works.com">This is a second sentence.</t>

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 3.5
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: