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.Elements<T>(IEnumerable<T>, XName)

 

Data di pubblicazione: ottobre 2016

Restituisce una raccolta filtrata dell'elemento figlio di elementi di ogni elemento e il documento nella raccolta di origine. Solo gli elementi che hanno un oggetto 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
Type: System.Collections.Generic.IEnumerable<T>

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

name
Type: System.Xml.Linq.XName

Oggetto XName di cui trovare la corrispondenza.

Valore restituito

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

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

Parametri tipo

T

Il tipo degli oggetti in source, vincolato a XContainer.

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

Questo metodo utilizza l'esecuzione posticipata.

Questo metodo di estensione è utile quando si desidera recuperare tutti gli elementi con il nome specificato a una profondità particolare. Questo è semplice se il documento è molto regolare, ma se il documento è irregolare, può essere un po' più difficile. Nell'esempio seguente, si desidera recuperare tutti aaa gli elementi figlio di Item elementi. Un determinato Item elemento può o non può contenere un aaa elemento. Ciò avviene facilmente utilizzando questo metodo di estensione, come indicato di seguito:


                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 altre 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 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: