Метод сохранения объектов данных путем сериализации и десериализации набора общих объектов данных.
Когда мы обычно используем базу данных, мы часто сталкиваемся с проблемой, то есть мы не хотим, чтобы объекты объектов данных были вставлены в базу данных, но мы хотим сохранить их, то мы можем сериализовать их в
строку XML и сохранить в других местах. Поскольку строка генерируется, ее можно сохранить в любом месте, где мы хотим ее сохранить. Например, ViewState, cookie, кеш и т. д. asp.net.
Сначала мы определяем класс объекта данных.
класс Сущность
{
publicEntity()
{}
частный внутренний идентификатор;
общедоступный внутренний идентификатор
{
получать
{
вернуть идентификатор;
}
набор
{
идентификатор = значение;
}
}
имя частной строки;
общедоступная строка Имя
{
получать
{
вернуть имя;
}
набор
{
имя = значение;
}
}
частная двойная цена;
общественная двойная цена
{
получать
{
цена возврата;
}
набор
{
цена = стоимость;
}
}
}
Поэтому вставьте его в объект List
List
Объект объекта = новый объект();
объект.Ид = 1;
obj.Name = "тест";
объект.Цена = 3,23;
список.Добавить(объект);
Таким образом, объект List
общедоступную статическую строку Serialize
{
Результат XmlDocument = новый XmlDocument();
result.LoadXml("
foreach (объект BusinessObject в GenericList)
{
XmlElement Item = result.CreateElement("Элемент");
PropertyInfo[] свойства = obj.GetType().GetProperties();
foreach (свойство PropertyInfo в свойствах)
{
если (property.GetValue(obj, null)!= null)
{
Элемент XmlElement = result.CreateElement(property.Name);
element.SetAttribute("Тип", свойство.ТипСвойства.Имя);
element.InnerText = property.GetValue(obj, null).ToString();
Item.AppendChild(элемент);
}
}
результат.DocumentElement.AppendChild(Элемент);
}
вернуть результат.InnerXml;
}
Затем мы вызываем этот метод
string str = Serialize
Сгенерированный XML-файл:
<Предмет>
Элемент>
Корень>
Затем мы десериализуем XML-файл, созданный выше, и только что создаем объект List
public static List
{
Результат List
XmlDocument XmlDoc = новый XmlDocument();
XmlDoc.LoadXml(XmlStr);
foreach (XmlNode ItemNode в XmlDoc.GetElementsByTagName("Root").Item(0).ChildNodes)
{
Элемент BusinessObject = Activator.CreateInstance
PropertyInfo[] свойства = typeof(BusinessObject).GetProperties();
foreach (XmlNode propertyNode в ItemNode.ChildNodes)
{
имя строки = PropertyNode.Name;
тип строки = propertyNode.Attributes["Тип"].Value;
строковое значение = propertyNode.InnerXml;
foreach (свойство PropertyInfo в свойствах)
{
если (имя == свойство.Имя)
{
property.SetValue(item,Convert.ChangeType(value,property.PropertyType), null);
}
}
}
результат.Добавить(элемент);
}
вернуть результат;
}
Затем мы вызываем этот метод:
List
Все кончено.
Эта статья знакомит вас только с простым методом сериализации объектов List<>. Его следует использовать в зависимости от вашей ситуации.
http://www.cnblogs.com/kchen/archive/2006/11/04/550382.html