PDA

View Full Version : سوال: ذخیره آرایه در XML



ara_tz
چهارشنبه 10 آبان 1391, 17:30 عصر
سلام به همگی!
من یه آرایه دارم که اطلاعاتمو توش ریختم حالا میخوام این اطلاعاتو به فرمت Xml ذخیره کنم نمیشه:
اطلاعاتی که توی آرایه ذخیره میشه از یک کلاس به اسم data گرفته میشه:

public class data
{
public String name;
public String text;
public String Location;
}
و کد ذخیره اطلاعاتم هم اینه:


ArrayList myItems = new ArrayList(5);
for (int i = 0; i < 5; i++)
{
data dte = new data();
dte.name =txt_name.text + i.ToString();
dte.text = txt_text.text + i.ToString();
dte.Location = txt_location.text;
myItems.Add(dte);
}
System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(obje ct));
System.IO.TextWriter writer = new System.IO.StreamWriter("myItems.xml", false);
serializer.Serialize(writer, myItems);
writer.Close();

لطفا کمکم کنید!

ara_tz
پنج شنبه 11 آبان 1391, 15:48 عصر
دوستان کسی نیست که بتونه به من کمک کنه؟

hakim22
دوشنبه 15 آبان 1391, 22:12 عصر
اول پیشنهاد میکنم بجای XMLSerializer از BinaryFormatter استفاده کنید اگر هدف فقط ذخیره کردن لیست است.

وقتی از XmlSerializer استفاده می کنید کلاسی که تعریف کردید برای serialize شدن باید حتما خاصیت (Attribute) با مقدار [serializable] رو داشته باشه.

عین عبارت [serializable] را در بالای خط تعریف کلاس public class data اضافه کنید.

درضمن XmlSerializer این گیر رو داره که باید کلاسهایی که از هم مشتق میشوند رو با خاصیت XmlInclude به کلاسی که میخواهید serialize کنید اضافه کنید.

لطفا متن خطا را قرار بدهید تا دقیقتر راهنمایی کنم.