示例#1
0
 /// <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);
     }
 }