public IList <IXmlDocumentElement> GetChildNodes(IXmlDocumentElement parent) { List <IXmlDocumentElement> result = new List <IXmlDocumentElement>(); XmlNode folder = this.NavigateToPath(parent.CurrentPath); foreach (XmlNode child in folder.ChildNodes) { result.Add(new XmlDocumentElement() { ElementType = child.Name, CurrentPath = parent.CurrentPath + @"\" + parent.NameAttribute, HasChildNodes = child.HasChildNodes, NameAttribute = ((XmlElement)child).GetAttribute(NODE_NAME_ATTRIBUTE) }); } return(result); }
private static List <FileViewModel> CreateViewModels(IXmlDocumentElement folder) { var result = new List <FileViewModel>(); var childElements = docReader.GetChildNodes(folder); foreach (IXmlDocumentElement element in childElements) { if (element.ElementType.Equals("Folder")) { result.Add(new FolderViewModel() { Name = element.NameAttribute, Path = folder.CurrentPath, HasUnrealizedChildren = element.HasChildNodes }); } else { result.Add(new FileViewModel() { Name = element.NameAttribute, Icon = GetFileIcon(element.CurrentPath) }); } } return(result); }