//序列化 public static void SerializedZhaJiDeviceInfoCollection(UInt16 stationIndex, DeviceType deviceType, int count, float[,] angles, string filePath) { ZhaJiDeviceInfoCollection collection = new ZhaJiDeviceInfoCollection(); for (int i = 1; i <= angles.GetLength(0); ++i) { //闸机 ZhaJiDeviceInfo zhaJiDeviceInfo = new ZhaJiDeviceInfo(); zhaJiDeviceInfo.Name = "闸机"; zhaJiDeviceInfo.StationIndex = stationIndex; zhaJiDeviceInfo.DeviceId = (int)deviceType + i; zhaJiDeviceInfo.DeviceType = (int)deviceType; zhaJiDeviceInfo.LeftOpenAngleX = angles[i - 1, 0]; zhaJiDeviceInfo.LeftOpenAngleY = angles[i - 1, 1]; zhaJiDeviceInfo.LeftOpenAngleZ = angles[i - 1, 2]; zhaJiDeviceInfo.RightOpenAngleX = angles[i - 1, 3]; zhaJiDeviceInfo.RightOpenAngleY = angles[i - 1, 4]; zhaJiDeviceInfo.RightOpenAngleZ = angles[i - 1, 5]; collection.AddZhaJiDeviceInfo(zhaJiDeviceInfo); } FileStream fileStream = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite); StreamWriter sw = new StreamWriter(fileStream, System.Text.Encoding.UTF8); XmlSerializer xml = new XmlSerializer(collection.GetType()); xml.Serialize(sw, collection); sw.Close(); fileStream.Close(); }
//反序列化 public static ZhaJiDeviceInfoCollection DeserializedZhaJiDeviceInfoCollection(string filePath) { FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); XmlSerializer xml = new XmlSerializer(typeof(ZhaJiDeviceInfoCollection)); ZhaJiDeviceInfoCollection collection = (ZhaJiDeviceInfoCollection)xml.Deserialize(fs); fs.Close(); return(collection); }
private static void CreateZhaJiDeviceInfoXmlAboutStation0() { ZhaJiDeviceInfoCollection.SerializedZhaJiDeviceInfoCollectionAtStation0(); }