private void SetXmlImports() { var imports = partialNode.SelectSingleNode("imports"); if (imports != null && imports.HasChildNodes) { childLoaders = new List <PartialXmlLoad>(); var nodeList = imports.SelectNodes("import"); var len = nodeList.Count; for (int i = 0; i < len; i++) { var importNod = new XmlImportNode(nodeList[i]); var childLoader = new PartialXmlLoad(rootPath + "/" + importNod.name + xmlExtension, this.deep + 1, this.rootPath, this.partialNode, importNod); childLoaders.Add(childLoader); childLoader.Load(); } OnChildsReady(); _isReady = true; } else { _isReady = true; waitingChildsLoad = false; } }
public PartialXmlLoad(string path, int deep, string _rootPath = "", XmlNode parentNode = null, XmlImportNode _importNode = null) { fileInfo = new FileInfo(path); this._name = fileInfo.Name; this.importModel = _importNode; if (deep == 0) { this.rootPath = fileInfo.DirectoryName; } else { this.rootPath = _rootPath; } _isReady = false; this.parentNode = parentNode; this.path = path; this.deep = deep; loader = new LocalXmlLoader(); waitingChildsLoad = false; }