I needed a quick mental challenge and was feeling particularly generous tonight.
List<string> file = new List<string>()
{
@"\nagmonbashare05\IBCMA_UAT\1. Completed Deal File\1. Confidentiality agreements\",
@"\nagmonbashare05\IBCMA_UAT\1. Completed Deal File\2. Engagement letter\",
@"\nagmonbashare05\IBCAdmin\270Park\client information\Cars\dat\"
};
XDocument doc = new XDocument();
foreach(string line in file)
{
XElement parentElement = null;
foreach(string folderName in line.Split(new char[]{'\\'}, StringSplitOptions.RemoveEmptyEntries) )
{
XElement folder = (from e in doc.Descendants("Folder")
where e.Attribute("name").Value == folderName
select e)
.FirstOrDefault();
if(folder == null && parentElement == null)
{
parentElement = new XElement("Folder",
new XAttribute("name", folderName));
doc.Add(parentElement);
}
else if(folder == null)
{
XElement folderElement = new XElement("Folder",
new XAttribute("name", folderName));
parentElement.Add(folderElement);
parentElement = folderElement;
}
else
{
parentElement = folder;
}
}
}