我已經使用需要反序列化到Silverlight(v5)應用程序中的對象的XML數據源進行着陸。數據是這樣的:在Silverlight中沒有聲明或名稱空間的反序列化
<AgentState>
<agentName>jbloggs</agentName>
<extension>12345</extension>
<currentlyIn>TestStatus</currentlyIn>
</AgentState>
我在Silverlight的端創建一個類,我試圖讓這個XML - 這,你會發現,缺少一個聲明和一個命名空間 - 爲對象。
StringReader sr = null;
string data = Encoding.UTF8.GetString(e.Buffer, e.Offset, e.BytesTransferred);
sr = new StringReader(data);
XmlSerializer xs = new XmlSerializer(typeof (AgentState));
AgentState agent = (AgentState) xs.Deserialize(sr);
..但是,這將引發一個錯誤an error in xml document (1,2)
,因爲它缺少的聲明。即使手動添加虛擬聲明也會導致有關缺少名稱空間的更多錯誤。
我發現other有關忽略XML中的命名空間/聲明的問題,但這些在Silverlight中似乎都不起作用。
任何人都可以建議將這個XML反序列化到一個對象中的最佳方式?
Silverlight中沒有Encoding.ASCII :( – KenD 2013-04-09 17:13:52
編輯過,它也適用於UTF8。你能給我們準確的字符串輸出嗎?聽起來像是罪魁禍首。 – 2013-04-09 17:55:23