private void BuildSubFolders(XElement root, FolderStructure folderStructure) { if (root.HasElements) { foreach (XElement folder in root.Elements("Folder")) { FolderStructure fs = new FolderStructure(folder.Attribute("name").Value); folderStructure.Folders.Add(fs); BuildSubFolders(folder, fs); } } }
private void BuildPathsToFinalFolders(FolderStructure rootFolder, string prevPath = null) { foreach (FolderStructure folder in rootFolder.Folders) { string path; if (prevPath != null) { path = prevPath + "\\" + folder.Name; } else { path = folder.Name; } if (folder.HasSubFolders) { BuildPathsToFinalFolders(folder, prevPath: path); } else { FinalFolders.Add(path); } } }