public List<WaggonType> GetAll() { List<WaggonType> waggonTypes = new List<WaggonType>(); XmlDocument document = new XmlDocument(); document.Load(this.FilePath); XmlNodeList waggonTypeNodes = document.SelectNodes("/ConfigBuilderConfiguration/WaggonTypes/WaggonType"); foreach (XmlNode waggonTypeNode in waggonTypeNodes) { string name = waggonTypeNode.Attributes["Name"].Value; string usageName = waggonTypeNode.Attributes["Usage"].Value; WaggonType newWaggonType = new WaggonType(name, usageName); XmlNodeList cameraNodes = waggonTypeNode.SelectNodes("Cameras/Camera"); foreach (XmlNode cameraNode in cameraNodes) { string id = cameraNode.Attributes["Id"].Value; string referenceId = cameraNode.Attributes["ReferenceId"].Value; string cameraName = cameraNode.Attributes["Name"].Value; Camera cam = new Camera(id); cam.CameraType = "M3113"; cam.Group = "Innenkamera"; cam.Name = cameraName; cam.ReferenceId = referenceId; newWaggonType.AddCamera(cam); } waggonTypes.Add(newWaggonType); } return waggonTypes; }
private WaggonType CreateWaggonTypeFromXmlNode(XmlNode waggonTypeNode) { string typeName = waggonTypeNode.Attributes["Name"].Value; string usageName = waggonTypeNode.Attributes["Usage"].Value; WaggonType waggonType = new WaggonType(typeName, usageName); // Kameras XmlNode camerasRootNode = waggonTypeNode.SelectSingleNode("Cameras"); string cameraType = camerasRootNode["CameraType"].Value; XmlNodeList cameraNodes = waggonTypeNode.SelectNodes("Cameras/Camera"); foreach (XmlNode cameraNode in cameraNodes) { Camera camera = CreateCameraFromXmlNode(cameraNode, cameraType); waggonType.AddCamera(camera); } // Devices XmlNodeList deviceNodes = waggonTypeNode.SelectNodes("Devices/Device"); foreach (XmlNode deviceNode in deviceNodes) { Device device = CreateDeviceFromXmlNode(deviceNode); waggonType.AddDevice(device); } // Switches XmlNodeList switchNodes = waggonTypeNode.SelectNodes("Switches/Switch"); foreach (XmlNode switchNode in switchNodes) { Switch mySwitch = CreateSwitchFromXmlNode(switchNode); waggonType.AddSwitch(mySwitch); } // Subsystems XmlNodeList subsystemNodes = waggonTypeNode.SelectNodes("Subsystems/Subsystem"); foreach (XmlNode subsystemNode in subsystemNodes) { Subsystem subsystem = CreateSubsystemFromXmlNode(subsystemNode); waggonType.AddSubsystem(subsystem); } return waggonType; }