0
私の他の質問に関しては、データをシリアル化してから逆シリアル化したが、新しいデータを直列化されたarraylistに書き込むとき、新しいデータをarraylistの最後に追加しない。代わりに、以前のリストデータを上書きしています。どんな助けも素晴らしいだろう。ここに私のコードは、これまでのところです:前のxmlを逆シリアル化するが、前のxmlに追加しない
{
ArrayList siteList = new ArrayList();
ArrayList copy = new ArrayList(siteList);
//if previous data exists, deserialize it
try
{
ArrayList deserializedArray = DeserializeArray();
foreach (var item in deserializedArray)
{
Console.WriteLine(item);
}
Console.WriteLine("------");
}
catch
{
Console.WriteLine("No previous data found");
}
siteList.Add("Test 3");
siteList.Add("Test 4");
//Display all current items in list
foreach (var item in siteList)
{
Console.WriteLine(item);
}
SerializeArray(siteList);
Console.Read();
}
public static void SerializeArray(ArrayList siteList)
{
XmlSerializer serializer = new XmlSerializer(typeof(ArrayList));
TextWriter textWriter = new StreamWriter("SiteList.xml");
serializer.Serialize(textWriter, siteList);
textWriter.Close();
}
static ArrayList DeserializeArray()
{
XmlSerializer deserializer = new XmlSerializer(typeof(ArrayList));
TextReader textReader = new StreamReader("SiteList.xml");
ArrayList siteList;
siteList = (ArrayList)deserializer.Deserialize(textReader);
textReader.Close();
return siteList;
}
}
}
ありがとうITワークス! – karlstackoverflow