Cериализация в XML и обратно
Обновлено 17.04.17
Продвинутая версия сериализации в XML, работает в несколько раз быстрее штатной
Как преобразовать объект в строку, например для сохранения или передачи, а потом обратно? Есть две простые функции, которые я использовал в одном из Unity проектов:
public static object Deserialize<T> (string toDeserialize) {
XmlSerializer xmlSerializer = new XmlSerializer (typeof (T));
StringReader textReader = new StringReader (toDeserialize);
return xmlSerializer.Deserialize (textReader);
}
public static string Serialize<T> (T toSerialize) {
XmlSerializer xmlSerializer = new XmlSerializer (typeof (T));
StringWriter textWriter = new StringWriter ();
xmlSerializer.Serialize (textWriter, toSerialize);
return textWriter.ToString ();
}
Использовать очень просто:
Vectror3 vector = new Vector3 (10f, 10f, 10f); // какой-то объект
string data = Serialize<Vector3> (vector); // преобразовываем в строку
vector = (Vector3) Deserialize<Vector3> (data); // обратно из строки в объект