public void ReadXmlElectricity() { // во всех классах счетчиков примерно одно и то же // Подгрузка пути PathXml pathXml = new PathXml(); string way = pathXml.ElectricityRelativePathToXml(); XmlDocument xDoc = new XmlDocument(); try { xDoc.Load(way); // проверка существования документа XML } catch (Exception e) { Console.WriteLine("Неверный путь к XML файлу:" + e.Message); Console.ReadLine(); } //Чтение XML XmlElement xRoot = xDoc.DocumentElement; XmlNodeList nodeList = xDoc.DocumentElement.SelectNodes("/counters/counter"); foreach (XmlNode xnode in nodeList) { // запись настроек счетчика в экземляр класса parametrs ElectricityXmlDoc parametrs = new ElectricityXmlDoc(); parametrs.id = Convert.ToInt32(xnode.SelectSingleNode("id").InnerText); parametrs.IP = xnode.SelectSingleNode("IP").InnerText; parametrs.name = xnode.SelectSingleNode("name").InnerText; parametrs.interview = xnode.SelectSingleNode("interview").InnerText; if (parametrs.interview == "-") { continue; } // если - пропуск итерации parametrs.zone = xnode.SelectSingleNode("zone").InnerText; parametrs.comment = xnode.SelectSingleNode("comment").InnerText; Task.Factory.StartNew(() => SaveDocsElectricity(parametrs)); } ProductionLineWrite productionLine = new ProductionLineWrite(); Task.Factory.StartNew(() => productionLine.SaveDocsProductionLine(64, 65, 66, "Electricity")); return; }
public void ReadXmlWater() { PathXml pathXml = new PathXml(); string way = pathXml.WaterRelativePathToXml(); XmlDocument xDoc = new XmlDocument(); try { xDoc.Load(way); } catch (Exception e) { Console.WriteLine("Неверный путь к XML файлу:" + e.Message); Console.ReadLine(); } XmlElement xRoot = xDoc.DocumentElement; XmlNodeList nodeList = xDoc.DocumentElement.SelectNodes("/counters/counter"); foreach (XmlNode xnode in nodeList) { Water_XmlDoc parametrs = new Water_XmlDoc(); parametrs.id = Convert.ToInt32(xnode.SelectSingleNode("id").InnerText); parametrs.name = xnode.SelectSingleNode("name").InnerText; parametrs.interview = xnode.SelectSingleNode("interview").InnerText; if (parametrs.interview == "-") { continue; } parametrs.DB = Convert.ToInt32(xnode.SelectSingleNode("db").InnerText); parametrs.address = Convert.ToInt32(xnode.SelectSingleNode("address").InnerText); parametrs.length = Convert.ToInt32(xnode.SelectSingleNode("length").InnerText); parametrs.IP = xnode.SelectSingleNode("IP").InnerText; parametrs.port = Convert.ToInt32(xnode.SelectSingleNode("port").InnerText); parametrs.rack = Convert.ToInt32(xnode.SelectSingleNode("rack").InnerText); parametrs.slot = Convert.ToInt32(xnode.SelectSingleNode("slot").InnerText); Task.Factory.StartNew(() => SaveDocsWater(parametrs)); } ProductionLineWrite productionLine = new ProductionLineWrite(); Task.Factory.StartNew(() => productionLine.SaveDocsProductionLine(19, 20, 21, "Water")); return; }