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
Mischiare codice server side e client side in una query LINQ con Entity Framework
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Usare la parola chiave field per semplificare la scrittura di proprietà in C#
I più letti di oggi
- ASP.NET 3.5 Extensions in beta la settimana prossima
- Kinect for Windows arriva alla beta 2
- Disponibili la Release Preview di Windows 8 e la Release Candidate di Visual Studio 2012
- Rilasciato VirtualPC 2007
- Community Days 2010: Entity Framework Code-First
- DateOnly e TimeOnly in .NET: e io che ci faccio?
- Azure loves Docker: non solo AKS
- .NET, Serilog e SEQ - un buon trio per loggare facilmente
- Integrare LLM alle nostre applicazioni in .NET con MCP
- Repository con code-first di Entity Framework




