//原来是通过返回null,如传入了一个空串,来表示获取根目录(根目录实际上不是一个目录) //现在改进为查不到抛异常,是不是根目录外部判断处理,不通过返回null隐式的表达其它含义 /// <summary> /// 获取一个文件夹实体 /// </summary> /// <param name="id"></param> /// <returns></returns> public WindowFolderEntity GetFolderEntity(string id) { if (String.IsNullOrEmpty(id)) { Debug.Assert(false, "GetFolderEntity 传入的 id 为空"); return(null); } XElement element = _indexXml.XPathSelectElement(String.Format(XPATH_Index_SelectFolder, id)); if (element == null) { Debug.Assert(false, "GetFolderEntity 失败,返回了 null"); } WindowFolderEntity formFolderEntity = new WindowFolderEntity(); formFolderEntity.FromXml(element.ToString()); return(formFolderEntity); }
/// <summary> /// 获取隶属于指定目录的子目录集合 /// </summary> /// <param name="folderId"></param> /// <returns></returns> public WindowFolderEntityCollection GetFolderCollection(string folderId) { if (folderId == null) { folderId = String.Empty; } WindowFolderEntityCollection collection = new WindowFolderEntityCollection(); foreach (XElement element in _indexXml.XPathSelectElements(String.Format(XPATH_Index_SelectFolder_ByParentId, folderId))) { WindowFolderEntity formFolderEntity = new WindowFolderEntity(); //FormFolderEntity在往Index文件里存的时候是直接ToXml的 //所以此处直接FromXml即可 formFolderEntity.FromXml(element.ToString()); collection.Add(formFolderEntity); } return(collection); }