A volte capita di avere una struttura XML dove lo stesso nodo può apparire su più livelli. Ad esempio, in un file che rappresenta l'albero genealogico della famiglia, il nodo figlio può apparire su diversi livelli.
<padre ...> <figli> <figlio ...> <figli> <figlio ...>
In questi casi, se si vogliono ritrovare tutti i nodi di tipo figlio, si deve creare una routine ricorsiva. Fortunatamente, LINQ to XML ha già un metodo che fa al nostro caso: Descendants. Questo metodo fa parte della della classe XContainer e si preoccupa di effettuare una ricerca ricorsiva partendo dal nodo su cui chiamiamo il metodo.
var doc = XDocument.Load(filename); var elements = doc.Descendants("figlio");
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
I più letti di oggi
- Gli oggetti CallOut di Expression Blend 4.0
- Configurazione tramite environment variable in ASP.NET Core
- Controllare gli accessi IP alle app con Azure Container Apps
- Creare applicazioni web native con Electron
- Utilizzare le sequence di SQL Server in Entity Framework Core
- Update NoDo di marzo 2011 di Windows Phone in fase di distribuzione
- Tile, notifiche e background task in Windows Phone 8
- Mantenere l'ordine dei dati in una query PLINQ