طريقة استمرار كائنات البيانات عن طريق إجراء تسلسل وإلغاء تسلسل مجموعة من كيانات البيانات العامة
عندما نستخدم قاعدة البيانات عادةً، غالبًا ما نواجه مشكلة، أي أننا لا نريد إدراج كائنات كيان البيانات في قاعدة البيانات، لكننا نريد استمرارها، فيمكننا إجراء تسلسل لها في
سلسلة XML وحفظها في أماكن أخرى، نظرًا لإنشاء السلسلة، يمكن حفظها في أي مكان نريد حفظها. على سبيل المثال، حالة العرض وملفات تعريف الارتباط وذاكرة التخزين المؤقت الخاصة بـ asp.net وما إلى ذلك.
أولاً، نحدد فئة كيان البيانات.
كيان الطبقة
{
الكيان العام ()
{}
معرف int الخاص؛
معرف كثافة العمليات العامة
{
يحصل
{
معرف العودة؛
}
تعيين
{
المعرف = القيمة؛
}
}
اسم السلسلة الخاصة؛
اسم السلسلة العامة
{
يحصل
{
اسم الإرجاع؛
}
تعيين
{
الاسم = القيمة؛
}
}
سعر مزدوج خاص؛
السعر المزدوج العام
{
يحصل
{
سعر العودة
}
تعيين
{
السعر = القيمة؛
}
}
}
لذا أدخله في كائن القائمة
List
Entity obj = new Entity();
obj.Id = 1;
obj.Name = "اختبار";
obj.Price = 3.23;
list.Add(obj);
بهذه الطريقة، تم إنشاء كائن List
سلسلة ثابتة عامة Serialize
{
نتيجة XmlDocument = new XmlDocument();
result.LoadXml("
foreach (BusinessObject obj في GenericList)
{
XmlElement Item = result.CreateElement("Item");
PropertyInfo[] property = obj.GetType().GetProperties();
foreach (خاصية PropertyInfo في الخصائص)
{
إذا (property.GetValue(obj, null) != null)
{
XmlElement element = result.CreateElement(property.Name);
element.SetAttribute("Type", property.PropertyType.Name);
element.InnerText = property.GetValue(obj, null).ToString();
Item.AppendChild(element);
}
}
result.DocumentElement.AppendChild(Item);
}
إرجاع النتيجة.InnerXml;
}
ثم نسمي هذه الطريقة
string str = Serialize
ملف XML الذي تم إنشاؤه هو:
<العنصر>
<نوع السعر = "مزدوج">3.23السعر>
العنصر>
الجذر>
بعد ذلك، نقوم بإلغاء تسلسل ملف xml الذي تم إنشاؤه أعلاه وإنشاء كائن List
List
{
List
XmlDocument XmlDoc = new XmlDocument();
XmlDoc.LoadXml(XmlStr);
foreach (XmlNode ItemNode في XmlDoc.GetElementsByTagName("Root").Item(0).ChildNodes)
{
BusinessObject item = Activator.CreateInstance
PropertyInfo[] property = typeof(BusinessObject).GetProperties();
foreach (خاصية XmlNode في ItemNode.ChildNodes)
{
اسم السلسلة = propertyNode.Name؛
نوع السلسلة = propertyNode.Attributes["Type"].Value;
قيمة السلسلة = propertyNode.InnerXml؛
foreach (خاصية PropertyInfo في الخصائص)
{
إذا (الاسم == اسم العقار)
{
property.SetValue(item,Convert.ChangeType(value,property.PropertyType), null);
}
}
}
result.Add(item);
}
نتيجة الإرجاع؛
}
ثم نسمي هذه الطريقة:
List
انتهى.
تقدم لك هذه المقالة فقط طريقة بسيطة لإجراء تسلسل لكائنات القائمة<>، ويجب عليك استخدامها وفقًا لحالتك الخاصة.
http://www.cnblogs.com/kchen/archive/2006/11/04/550382.html