2016-11-04 1 views
1

Je souhaite récupérer une structure arborescente (ou une structure de nœud) à partir d'un fichier XML, en ignorant certains éléments. Dans l'exemple, je veux juste obtenir les nœuds du dossier.Comment filtrer sur un nom de noeud XML en gardant la structure arborescente?

<Folder name="users"> 
    <Folder name="user1"> 
     <File name="file1.txt"></File> 
     <Folder name="mydocuments">...</Folder> 
    </Folder> 
</Folder> 
<Folder name="windows"></Folder> 
<Folder name="temp"></Folder> 

Mais je veux garder le « arbre » des nœuds de dossier et notez perdre en utilisant une méthode comme:

var folders = doc.Descendants().Where(n => n.Name == "Folder"); 

Je veux obtenir quelque chose comme ceci:

Folder (users) 
    | 
    |__ Folder (user1) 
     | 
     |__ Folder (mydocuments) 
Folder (windows) 
Folder (temp) 

Comment est-il possible d'utiliser Linq To Xml?

+0

Avez-vous essayé quoi que ce soit? –

Répondre

1

Vous pouvez simplement supprimer les fichiers des dossiers:

doc.Descendants("File").Remove(); 
+0

Wouaow! Le pouvoir de Linq;) !!! Merci beaucoup ! – Florian

+0

haha, ouais, vous êtes les bienvenus;) – octavioccl