Где я могу найти хорошее учебное руководство о XML-сериализации к объекту?Спасибо.
На страницах поддержки Microsoft есть базовый учебник, а их пример кода состоит всего из нескольких строк:
using System;
public class clsPerson
{
public string FirstName;
public string MI;
public string LastName;
}
class class1
{
static void Main(string[] args)
{
clsPerson p=new clsPerson();
p.FirstName = "Jeff";
p.MI = "A";
p.LastName = "Price";
System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(p.GetType());
x.Serialize(Console.Out, p);
Console.WriteLine();
Console.ReadLine();
}
}
По сути, вам не нужно ничего делать, кроме как вызывать встроенные функции, которые делают всю тяжелую работу за вас.
В MSDN есть приличная статья об этом: http://msdn.microsoft.com/en-us/library/ms733901.aspx
А эта немного проще : http://www.dotnetjohn.com/articles.aspx?articleid=173
Это действительно довольно просто. всего три основных шага.
[Serializable]
. Сериализация:
var x = new XmlSerializer(typeof(YourClass));
var fs = new FileStream(@"C:\YourFile.xml"), FileMode.OpenOrCreate);
x.Serialize(fs, yourInstance);
fs.Close();
Десериализация:
var x = new XmlSerializer(typeof(YourClass));
var fs = new FileStream(@"C:\YourFile.xml"), FileMode.Open);
var fromFile = x.Deserialize(fs) as YourClass;
fs.Close();
Вот хорошее начало microsoft
Также изучите Xml Schema и автоматическую генерацию классов с помощью xsd.exe, чем раньше вы освоите это, тем лучше, это может сэкономить вам много усилий при работе с XML. Также просмотр сгенерированных файлов c# дает вам некоторые подсказки о том, как использовать атрибуты для манипулирования способом сериализации классов XmlSerializer
В Интернете можно легко найти множество руководств по сериализации данных с помощью .Net. Однако позвольте мне напомнить некоторые моменты:
Типы сериализации:
a. Сериализация XML: Пожалуйста, посмотрите на http://www.switchonthecode.com/tutorials/csharp-tutorial-xml-serialization
b. Двоичная сериализация: http://www.switchonthecode.com/tutorials/csharp-tutorial-serialize-objects-to-a-file
Также, пожалуйста, помните об аспектах безопасности при работе (чтении и записи данных) с файлами. Есть хороший учебник здесь http://msdn.microsoft.com/en-us/library/system.security.permissions.fileiopermission.aspx
Мы используем сериализацию для записи данных в двоичном формате и в формате IN XML. для двоичного формата мы используем BibnaryFormatSerialization, а для формата XML мы используем SoapFormatSerialization.