从.net中的https请求获取XML数据?

时间:2011-03-14 17:22:52

标签: asp.net xml xml-deserialization

我需要创建一个ASP.net网页应用程序,显示基于XML数据的报告。

我被告知必须从https://www.example.com/foo.xml获取我的XML数据。我希望我的ASP.net应用程序能够获取数据服务器端,解释它并显示报告。

我需要了解事情:

1)如何让.net框架在运行时从https://www.example.com/foo.xml检索XML数据。

2)如何将数据集设置为适当的对象类型,以便我的程序可以读取它?

2 个答案:

答案 0 :(得分:0)

WebClient wc = new WebClient();
byte[] data = wc.DownloadData("https://www.example.com/foo.xml");
XmlSerializer xs = new XmlSerializer(typeof(MyClass));
MemoryStream ms = new MemoryStream(data);
MyClass mc = (MyClass) xs.Deserialize(ms);

这假设服务器以UTF8格式发送XML,MyClass是.NET中XML模型的实现,可以从该XML反序列化。

答案 1 :(得分:0)

您应该能够使用HttpWebRequestHttpWebResponse来执行请求并检索原始响应。 GetResponseStream方法将为您提供原始响应流,您可以使用XmlReader.Create进行包装,以便将响应读取为XML。

这些课程应该让你朝着正确的方向前进。