我在看看XML序列化,並序列化爲這樣:C#XML序列化/反序列化
public static string Serialize<T>(T data)
{
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
//Overridden to use UTF8 for compatability with Perl XML::DOM
StringWriterUTF8 sw = new StringWriterUTF8();
xmlSerializer.Serialize(sw, data);
return sw.ToString();
}
我用它作爲這樣的:
string serializedData = Serializer.Serialize<List<InputData>>(rawDataCollection);
主要生產:
<ArrayOfInputData xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<InputData>
<dose>100mg/kg</dose>
<compound>AZ13279746-001</compound>
</InputData>
</ArrayOfInputData>
出於某種原因,我不能包含xml版本1.0編碼UTF8的頭文件。
現在,當我嘗試用
public static object DeSerialize<T>(string data)
{
StringReader rdr = new StringReader(data);
XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
T i;
i = (T)xmlSerializer.Deserialize(rdr);
return i;
}
反序列化,我得到一個錯誤在2,2說無效的XML。任何想法我做錯了什麼?
感謝
我覺得毫克/公斤失敗..我只是缺少knowlage正確解釋。但我認爲/正在被視爲一種「逃避」 - 某種東西被稱爲... ggah我應該閉嘴並停止讓自己變傻:P – 2011-04-14 09:56:20
@Levisaxos - 哈.....我不認爲就是因爲它在2,2中表示無效,如果你還包含標題行,它將是中的A.我認爲這是因爲它預計可能在那裏?我也不確定,因此爲什麼我把它拋到了精彩的人們身上:) –
2011-04-14 10:03:58