カスタムオブジェクトを格納するArrayListがあります。そのArrayListを文字列にシリアル化して、アプリケーション設定内に保存できるようにします。
この質問はそれを解決するように見えますが、Javaです。そして、私はXMLに精通していないので、誰かが助けてくれるでしょうか? DateオブジェクトタイプのArrayListをシリアル化します
ArrayListを設定しました:
...
MyObject tempObj = new MyObject("something",1,"something");
MyCollection.Add(tempObj);
...
そして、私はもともとこれを持っていました。文字列を出力しますが、オブジェクトはありません:
private string SerializeArrayList(ArrayList obj)
{
System.Xml.XmlDocument doc = new XmlDocument();
Type[] extraTypes = new Type[1];
extraTypes[0] = typeof(MyObject);
System.Xml.Serialization.XmlSerializer serializer = new System.Xml.Serialization.XmlSerializer(typeof(ArrayList), extraTypes);
System.IO.MemoryStream stream = new System.IO.MemoryStream();
try
{
serializer.Serialize(stream, obj);
stream.Position = 0;
doc.Load(stream);
return doc.InnerXml;
}
catch { throw; }
finally
{
stream.Close();
stream.Dispose();
}
}
編集:コードリクエスト
public class MyObject
{
private string eN;
private Boolean bE;
private int min;
private Boolean bot;
private string onE;
public MyObject(string na, Boolean b)
{
...
}
public MyObject()
{
}
public string GetSomething()
{
...