我收到了 XML 数据的提要,我需要将其反序列化为 Silverlight (v5) 应用程序中的对象。数据如下:
<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)
,因为它缺少声明。即使手动添加一个虚拟声明也会导致关于缺少命名空间的更多错误。
我发现了有关忽略 XML 中的命名空间/声明的其他问题,但这些似乎都不适用于 Silverlight。
谁能建议将此 XML 反序列化为对象的最佳方法?