我有,我想反序列化8MB的XML文件最有效的方式。 我使用這個代碼:
public static T Deserialize<T>(string xml)
{
TextReader reader = new StringReader(xml);
Type type = typeof(T);
XmlSerializer serializer = new XmlSerializer(type);
T obj = (T)serializer.Deserialize(reader);
return obj;
}
這段代碼在約一分鐘,這似乎相當慢我運行。我試圖使用sgen.exe來預編譯序列化DLL,但這並沒有改變性能。
我還有哪些其他選擇可以提高性能?
我需要由反序列化創建的對象執行(基本)轉換。 XML是從外部Web服務接收的。
你想應用什麼樣的轉換?您是否考慮過使用XSLT(與XmlReader或XPathDocument結合使用)? – 2009-02-04 15:42:39
哪行代碼花費更多時間?關於創建serilizer還是關於反序列化本身? – 2009-05-05 10:44:52