/// <summary> /// Загружаем данные слоя /// </summary> /// <param name="wDoc"> xml-файл с данными </param> /// <returns> Список записей </returns> /// <exception cref="Data.DataLoadException"> Ошибка XPath при загрузке слоя </exception> internal List <MyRecord> LoadData(XmlDocument wDoc) { try { XmlNamespaceManager wNM = this.LoadNamespace(wDoc); XmlNodeList LayersXmlNodeList = wDoc.DocumentElement.SelectNodes(this._Rule.LayerPath, wNM); XmlNodeList LayerXmlNodeList; MyRecord wRec; foreach (XmlNode n in LayersXmlNodeList) { LayerXmlNodeList = n.SelectNodes(this._Rule.Entpath, wNM); foreach (XmlNode nn in LayerXmlNodeList) { wRec = new MyRecord(this._Rule); wRec.LoadData(nn, wNM); this.Table.Add(wRec); } } return(this.Table); } catch (System.Xml.XPath.XPathException e) { throw new Data.DataLoadException("Ошибка XPath при загрузке слоя " + this.Name, e); } }
/// <summary>Загружаем данные слоя</summary> /// <param name="wDoc">xml-файл с данными</param> /// <returns>Список записей</returns> /// <exception cref="Data.DataLoadException"> Ошибка XPath при загрузке слоя </exception> internal List <MyRecord> LoadData(XmlDocument wDoc) { try { var wNm = LoadNamespace(wDoc); var layersXmlNodeList = wDoc.DocumentElement?.SelectNodes(_Rule.LayerPath, wNm); if (layersXmlNodeList == null) { return(Table); } foreach (XmlNode n in layersXmlNodeList) { var layerXmlNodeList = n.SelectNodes(_Rule.Entpath, wNm); if (layerXmlNodeList == null) { continue; } foreach (XmlNode nn in layerXmlNodeList) { var wRec = new MyRecord(_Rule); wRec.LoadData(nn, wNm); Table.Add(wRec); } } return(Table); } catch (XPathException e) { throw new DataLoadException("Ошибка XPath при загрузке слоя " + Name, e); } }