2010-04-15 6 views
4

J'ai un XMLDocument comme:supprimer les nœuds XML de document xml

<Folder name="test"> 
     <Folder name="test2"> 
       <File>TestFile</File> 
     </Folder> 
</Folder> 

Je veux que les folder's, et non les fichiers. Alors, comment supprimer/manipuler le document XML dans C# pour supprimer/supprimer TOUS les éléments du document?

Merci!

Répondre

3

Si vous pouvez utiliser XDocument et LINQ, vous pouvez faire

XDocument doc = XDocument.Load(filename) // or XDocument.Parse(string) 
doc.Root.Descendants().Where(e => e.Name == "File").Remove(); 

- édité sur une erreur

2

Pour supprimer un nœud d'un XMLDocument (voir la réponse de Jens pour supprimer sous forme de noeud XDocument)

XmlDocument doc = XmlDocument.Load(filename); // or XmlDocument.LoadXml(string) 
XmlNodeList nodes = doc.SelectNodes("//file"); 
foreach(XmlNode node in nodes) { 
    node.ParentNode.RemoveChild(node); 
} 

Examinez l'éventuelle exception nulle si node.ParentNode est null.

Questions connexes