通常,这是我反序列化XML文件的方式:
string location = "C:\\test.xml";
XmlObjectClass member_data = new XmlObjectClass();
using (Stream XmlStream = new FileStream(location,FileMode.Open))
{
data = (XmlObjectClass)serializer.Deserialize(XmlStream);
}
当我正在对XML文件进行反序列化时,这是有效的,但如果我想反序列化Web请求返回的XML(即转到URL),该怎么办?
答案 0 :(得分:8)
嗯,有几个选择:
XmlReader.Create(uri)
创建XmlReader
并直接反序列化WebClient
或HttpWebRequest
获取流,并从流中反序列化MemoryStream
围绕它构建流并从中反序列化如果您不需要对Web请求做任何特别的事情 - 也就是说它实际上只是来自URI的“GET” - 那么第一个选项可能是最简单的。
答案 1 :(得分:0)
提供响应会保存在内存中,您可以使用MemoryStream
,StringReader
或类似于适合数据格式和XmlSerializer.Deserialize()
method功能的类。< / p>