1

我有一个 Web 服务,它返回一个表示 Xml 文件的字符串。该字符串是正确格式的 xml。我需要从字符串创建 FileInfo 对象,以便我可以反序列化它。

我没有文件路径,或者即使我这样做也没有用,因为它是一个断开连接的服务器。

我可以通过以下方式将字符串转换为 XmlDocument -

XmlDocument doc = new XmlDocument();
doc.LoadXml(MyString);

如何获取 FileInfo 以便我可以反序列化它?请帮忙。


解决方案:

感谢您的回复。我从服务返回的字符串创建了 XmlReader,并使用 XmlSerializer.Deserialize 来获取我需要的对象。

using (XmlReader tr = XmlReader.Create(new StringReader(mystring)))
{
  XmlSerializer serializer = new XmlSerializer(typeof(<T>), extraTypes);
  <T> serizalizedForm =  serializer.Deserialize(tr) as <T>;
}
4

1 回答 1

0

你需要一个代表 xml 结构的类来反序列化它。使用 xsd.exe 和返回的 xml 实例,您可以创建此类( /c 开关),然后使用 xmlserializer 进行反序列化。

这是反序列化 xml 的方法示例(更新:此链接已损坏

于 2010-02-05T02:31:10.153 回答