Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Dopo aver creato un albero XML o aver caricato un documento XML in un albero XML, è possibile eseguirne una query per trovare elementi e attributi e recuperarne i valori. Le raccolte vengono recuperate tramite i metodi dell'asse, detti anche assi. Alcuni elementi sono metodi nelle classi XElement e XDocument che restituiscono raccolte IEnumerable<T>. Alcuni assi sono metodi di estensione nella Extensions classe . Gli assi implementati come metodi di estensione operano su raccolte e raccolte restituite.
Come descritto in Panoramica della classe XElement, un XElement oggetto rappresenta un singolo nodo elemento. Il contenuto di un elemento può essere complesso (talvolta chiamato contenuto strutturato) o può essere un elemento semplice. Un elemento semplice può essere vuoto o può contenere un valore. Se il nodo contiene contenuto strutturato, è possibile utilizzare i vari metodi dell'asse per recuperare le enumerazioni degli elementi discendenti. I metodi dell'asse più comunemente usati sono Elements e Descendants.
Oltre ai metodi dell'asse, che restituiscono raccolte, esistono altri due metodi comunemente usati nelle query LINQ to XML. Il Element metodo restituisce un singolo XElement oggetto. Il Attribute metodo restituisce un singolo XAttribute oggetto.
Per molti scopi, le query LINQ offrono il modo più potente per esaminare un albero, estrarre dati da esso e trasformarli. Le query LINQ operano su oggetti che implementano IEnumerable<T>, e gli assi LINQ to XML restituiscono IEnumerable<T> di raccolte XElement, e IEnumerable<T> di raccolte XAttribute. Hai bisogno di queste raccolte per eseguire le tue query.
Oltre ai metodi dell'asse che recuperano raccolte di elementi e attributi, esistono metodi dell'asse che consentono di scorrere l'albero in modo dettagliato. Ad esempio, invece di gestire elementi e attributi, è possibile usare i nodi dell'albero. I nodi sono un livello di granularità più fine rispetto agli elementi e agli attributi. Quando si utilizzano nodi, è possibile esaminare commenti XML, nodi di testo, istruzioni di elaborazione e altro ancora. Questa funzionalità è importante, ad esempio, a un utente che sta scrivendo un elaboratore di testi e vuole salvare i documenti come XML. Tuttavia, la maggior parte dei programmatori XML si occupa principalmente di elementi, attributi e relativi valori.
Metodi per il recupero di una raccolta di elementi
Di seguito è riportato un riepilogo dei metodi della classe XElement (o delle classi base) che vengono chiamati su un oggetto XElement per restituire una raccolta di elementi.
| Metodo | Descrizione |
|---|---|
| XNode.Ancestors | Restituisce un IEnumerable<T> di XElement degli antenati di questo elemento. Un overload restituisce un IEnumerable<T> dei XElement antenati che hanno il XName specificato. |
| XContainer.Descendants | Restituisce un IEnumerable<T> di XElement tra i discendenti di questo elemento. Un overload restituisce un IEnumerable<T> dei XElement discendenti che hanno il XName specificato. |
| XContainer.Elements | Restituisce un IEnumerable<T> di XElement degli elementi figli di questo elemento. Un overload restituisce un IEnumerable<T> di XElement elementi figlio che hanno il XName specificato. |
| XNode.ElementsAfterSelf | Restituisce un IEnumerable<T> dei XElement degli elementi successivi a questo elemento. Un overload restituisce una lista di IEnumerable<T> degli XElement elementi che seguono questo elemento e che hanno il XName specificato. |
| XNode.ElementsBeforeSelf | Restituisce un IEnumerable<T> di XElement degli elementi che precedono questo elemento. Un overload restituisce un IEnumerable<T> di XElement degli elementi prima di questo elemento che hanno il XName specificato. |
| XElement.AncestorsAndSelf | Restituisce un IEnumerable<T> di XElement di questo elemento e dei suoi antenati. Un overload restituisce un IEnumerable<T> di XElement degli elementi che hanno il XName specificato. |
| XElement.DescendantsAndSelf | Restituisce un IEnumerable<T> di un XElement relativo a questo elemento e ai suoi discendenti. Un overload restituisce un IEnumerable<T> di XElement degli elementi che hanno il XName specificato. |
Metodo per il recupero di un singolo elemento
Il metodo seguente recupera un singolo elemento figlio da un XElement oggetto .
| Metodo | Descrizione |
|---|---|
| XContainer.Element | Restituisce il primo oggetto figlio XElement che ha il XName specificato. |
Metodo per il recupero di una raccolta di attributi
Il metodo seguente recupera gli attributi da un XElement oggetto .
| Metodo | Descrizione |
|---|---|
| XElement.Attributes | Restituisce un IEnumerable<T> contenente XAttribute di tutti gli attributi. |
Metodo per il recupero di un singolo attributo
Il metodo seguente recupera un singolo attributo da un XElement oggetto .
| Metodo | Descrizione |
|---|---|
| XElement.Attribute | Restituisce l'XAttribute che ha il XName specificato. |