Elements(T) Metodo (IEnumerable(T), XName)
Il presente articolo è stato tradotto automaticamente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale. Ulteriori informazioni.
Traduzione
Originale

Metodo Extensions.Elements<T>(IEnumerable<T>, XName)

 

Restituisce una raccolta filtrata degli elementi figlio di ciascun elemento e documento nella raccolta di origine.Solo gli elementi che hanno un XName corrispondente vengono inclusi nella raccolta.

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

public static IEnumerable<XElement> Elements<T>(
	this IEnumerable<T> source,
	XName name
)
where T : XContainer

Parametri

source

IEnumerable<T> di XElement che contiene la raccolta di origine.

name

Oggetto XName di cui verificare la corrispondenza.

Valore restituito

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

IEnumerable<T> di XElement degli elementi figlio di ciascun elemento e documento nella raccolta di origine.Solo gli elementi che hanno un XName corrispondente vengono inclusi nella raccolta.

Parametri di tipo

T

Tipo di oggetti in source vincolati a XContainer.

Gli utenti di Visual Basic possono utilizzare l'asse degli elementi integrato per recuperare gli elementi figlio di ciascun elemento di una raccolta.

Questo metodo utilizza l'esecuzione posticipata.

Questo metodo di estensione è utile quando si vuole recuperare tutti gli elementi con un nome specificato a una particolare profondità.Ciò risulta facile se il documento è normalmente regolare, ma se il documento è irregolare, può risultare un po' più difficile.Nell'esempio seguente, si desidera recuperare tutti gli elementi aaa che sono figli di elementi Item.Un elemento Item specificato può contenere o meno l'elemento aaa.Questa operazione viene eseguita facilmente utilizzando il metodo di estensione, come nel modo seguente:

XElement xmlTree = new XElement("Root",
    new XElement("Item",
        new XElement("aaa", 1),
        new XElement("bbb", 2)
    ),
    new XElement("Item",
        new XElement("ccc", 3),
        new XElement("aaa", 4)
    ),
    new XElement("Item",
        new XElement("ddd", 5),
        new XElement("eee", 6)
    )
);

IEnumerable<XElement> allGrandChildren =
    from el in xmlTree.Elements("Item").Elements("aaa")
    select el;

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

Questo esempio produce il seguente output:

<aaa>1</aaa>
<aaa>4</aaa>

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

XNamespace aw = "http://www.adventure-works.com";
XElement xmlTree = new XElement(aw + "Root",
    new XElement(aw + "Item",
        new XElement(aw + "aaa", 1),
        new XElement(aw + "bbb", 2)
    ),
    new XElement(aw + "Item",
        new XElement(aw + "ccc", 3),
        new XElement(aw + "aaa", 4)
    ),
    new XElement(aw + "Item",
        new XElement(aw + "ddd", 5),
        new XElement(aw + "eee", 6)
    )
);

IEnumerable<XElement> allGrandChildren =
    from el in xmlTree.Elements(aw + "Item").Elements(aw + "aaa")
    select el;

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

Questo esempio produce il seguente output:

<aaa xmlns="http://www.adventure-works.com">1</aaa>
<aaa xmlns="http://www.adventure-works.com">4</aaa>

Universal Windows Platform
Disponibile da 4.5
.NET Framework
Disponibile da 3.5
Portable Class Library
Supportato in: portable .NET platforms
Silverlight
Disponibile da 2.0
Windows Phone Silverlight
Disponibile da 7.0
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra:
© 2016 Microsoft