public static LTSModel LoadLTSFromXML(string text) { LTSModel lts = new LTSModel(); XmlDataDocument doc = new XmlDataDocument(); doc.LoadXml(text); XmlNodeList sitesNodes = doc.GetElementsByTagName(Parsing.DECLARATION_NODE_NAME); foreach (XmlElement component in sitesNodes) { lts.Declaration = component.InnerText; } sitesNodes = doc.GetElementsByTagName(Parsing.PROCESSES_NODE_NAME); if (sitesNodes.Count > 0) { foreach (XmlElement component in sitesNodes[0].ChildNodes) { LTSCanvas canvas = new LTSCanvas(); canvas.LoadFromXml(component); lts.Processes.Add(canvas); } } return(lts); }
public static SNModel LoadSensorNetworkFromXML(string text) { SNModel snModel = new SNModel(); XmlDataDocument doc = new XmlDataDocument(); doc.LoadXml(text); XmlNodeList sitesNodes = doc.GetElementsByTagName(Parsing.SYSTEM_NODE_NAME); snModel.SystemName = sitesNodes[0].ChildNodes[0].InnerText; sitesNodes = doc.GetElementsByTagName(Parsing.NETWORK_NODE_NAME); foreach (XmlElement component in sitesNodes) { LTSCanvas canvas = new LTSCanvas(); canvas.LoadFromXml(component.ChildNodes[0] as XmlElement); snModel.Network = canvas; } sitesNodes = doc.GetElementsByTagName(Parsing.LINK_NODE_NAME); if (sitesNodes.Count > 0) { foreach (XmlElement node in sitesNodes[0].ChildNodes) { snModel.AddLink(node.InnerText); } } sitesNodes = doc.GetElementsByTagName(Parsing.ASSERTION_NODE_NAME); if (sitesNodes[0].ChildNodes[0] != null) { snModel.Assertion = sitesNodes[0].ChildNodes[0].InnerText; } sitesNodes = doc.GetElementsByTagName(Parsing.SENSORS_NODE_NAME); if (sitesNodes.Count > 0) { foreach (XmlElement component in sitesNodes[0].ChildNodes) { //ID //Application XmlNodeList sensorID = component.GetElementsByTagName("ID"); XmlNodeList tosId = component.GetElementsByTagName("TOSID"); string tosid = ""; if (tosId == null || tosId.Count < 1) { tosid = "0"; } else { tosid = tosId[0].InnerText; } XmlNodeList sensorApp = component.GetElementsByTagName("App"); string app = ""; if (sensorApp == null || sensorApp.Count < 1) { app = "app"; } else { app = sensorApp[0].InnerText; } XmlNodeList sensorRange = component.GetElementsByTagName("Range"); string range = ""; if (sensorRange == null || sensorRange.Count < 1) { range = "//enter the sensor settings here..."; } else { range = sensorRange[0].InnerText; } string predefVars = ""; if (component.HasAttribute("Predefined")) { XmlNodeList sensorPredefVars = component.GetElementsByTagName("Predefined"); if (sensorRange.Count < 1) { predefVars = "//enter predefined variables here..."; } else { predefVars = sensorPredefVars[0].InnerText; } } else { predefVars = "//enter predefined variables here..."; } snModel.Sensors.Add(sensorID[0].InnerText, new NodeData(sensorID[0].InnerText, app, range, tosid, predefVars)); } } return(snModel); }