xmlをJavaオブジェクトに変換する逆シリアル化メソッドを書いています。これを動的に行い、特定のタイプへのハードコードされた参照を記述しないようにします。
たとえば、これは私のクラスの1つの簡略化されたバージョンです。
public class MyObject {
public ArrayList<SubObject> SubObjects = new ArrayList<SubObject>();
}
メソッドの簡略版を次に示します。
public class Serializer {
public static <T> T fromXml(String xml, Class<T> c) {
T obj = c.newInstance();
Field field = obj.getClass().getField("SubObjects");
//help : create instance of ArrayList<SubObject> and add an item
//help#2 : field.set(obj, newArrayList);
return obj;
}
}
このメソッドの呼び出しは次のようになります。
MyObject obj = Serializer.fromXml("myxmldata", MyObject.class);
私はJavaを学ぶC#開発者なので、これが些細な問題である場合はご容赦ください。
ありがとう!