- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
/// <summary>
/// Десериализация класса грунтов
/// </summary>
public static SGGlist DeserializeSgg(XmlDocument doc)
{
string dir = System.IO.Path.GetTempPath();
try
{
doc.Save(dir + "_sgg.xml");
}
catch (Exception exc)
{
Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("Ошибка сброса XML-документа в файл");
return null;
}
SGGlist sggList = new SGGlist();
FileStream fs;
try
{
fs = new FileStream(dir + "_sgg.xml", FileMode.Open); // инициализация объекта класса чтения файла
}
catch (Exception exc)
{
Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("Ошибка чтения XML-файла");
return null;
}
XmlSerializer r_serializer = new XmlSerializer(typeof(SGGlist)); // инициализация объекта класса десериализации
r_serializer.UnknownNode += new XmlNodeEventHandler(r_serializer_UnknownNode); // подключение события обнаружения неизвестного узла
r_serializer.UnknownAttribute += new XmlAttributeEventHandler(r_serializer_UnknownAttribute); // подключение события обнаружения неизвестного атрибута
try
{
sggList = (SGGlist)r_serializer.Deserialize(fs); // Десериализация в класс приема данных
}
catch (Exception exc) // Исключение при десериализации
{
Autodesk.AutoCAD.ApplicationServices.Application.ShowAlertDialog("Рассогласование классов");
fs.Close();
return null;
}
fs.Close();
return sggList;
}
TauSigma 10.07.2013 12:46 # 0
Я понимаю, у коллеги иначе не получилось преобразовать XML из памяти в объект SGGlist и он это сделал через файловую систему?
kegdan 10.07.2013 13:09 # 0
psycho-coder 10.07.2013 13:43 # 0
Zuzik 10.07.2013 13:54 # 0
psycho-coder 10.07.2013 13:56 # 0
Xtasy 10.07.2013 14:18 # 0
an0nym 11.07.2013 07:54 # −2
TauSigma 11.07.2013 10:46 # 0
anonimb84a2f6fd141 11.07.2013 21:23 # 0
Гний, падаль прыщеблядская, это тебе за питон под виндой.