2
我得到一些類型IList<object[]>
,什麼是序列化到XML的最佳方式。 然後再讀回IList<object[]>
。序列化的IList <object[]> XmlSerializer與通用列表
我只是沒有看到任何簡單的方法來這樣做。
感謝您的幫助。
我得到一些類型IList<object[]>
,什麼是序列化到XML的最佳方式。 然後再讀回IList<object[]>
。序列化的IList <object[]> XmlSerializer與通用列表
我只是沒有看到任何簡單的方法來這樣做。
感謝您的幫助。
接口上的XmlSerializer扼流圈。所以你可以在序列化之前將它轉換爲數組或具體的List<T>
。你也應該絕對specify known types,因爲這object[]
將無法正常工作。序列化程序必須事先知道您將要處理的所有類型。這樣,它會發出類型信息到生成的XML:
var data = list.ToArray();
var knownTypes = new[] { typeof(Foo), typeof(Bar) };
var serializer = new XmlSerializer(data.GetType(), knownTypes);
serializer.Serialize(someStream, data);
或者,如果你不想與這一切麻煩,只是爲你的對象,你可以使用JSON一些人類可讀的持久性:
var serializer = new JavaScriptSerializer();
string json = serializer.Serialize(list);
如果你不關心人的可讀性,一個二進制串行器應該沒問題。