private static ICollection <MCStructure> GetDirectoriesStructure(XmlElement xmlOwner, string ownerName) { var result = new List <MCStructure>(); foreach (XmlElement child in xmlOwner.ChildNodes) { string attributeName = child.GetAttribute("name"); string path = $"{attributeName}"; var directory = new MCStructure(attributeName, path, ownerName, false); GenerateDirectoryStructure(directory, ownerName, child); result.Add(directory); } return(result); }
private static void GenerateDirectoryStructure(MCStructure parentDir, string ownerName, XmlElement parentNode) { foreach (XmlElement child in parentNode.ChildNodes) { var attributeName = child.GetAttribute("name"); var path = $"{parentDir.Path}\\{attributeName}"; if (child.Name == "file") { parentDir.Structures.Add(new MCStructure(attributeName, path, ownerName, true)); } else { var directory = new MCStructure(attributeName, path, ownerName, false); parentDir.Structures.Add(directory); GenerateDirectoryStructure(directory, ownerName, child); } } }