我们必须从aspx页面读取数据。当我们使用查询字符串调用页面时,它返回一个xml文档,其中包含与查询字符串匹配的数据。
我们有一个与我们回来的xml相匹配的XSD。
我在想我们可以从http响应中读取xml文档。这有用吗?
我们如何将XML与XSD绑定,以便我们可以将XML文档看作是强类型的?
谢谢,
西拉
更新
找到关于如何反序列化的链接
答案 0 :(得分:3)
嗯,基本上,你可以请求这样的XML文档(这里没有try / catch - 但你一定要加上它!):
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
myRequest.Method = "POST"; // or GET - depends
myRequest.ContentType = "text/xml; encoding=utf-8";
myRequest.ContentLength = data.Length;
using (Stream reqStream = myRequest.GetRequestStream())
{
// Send the data.
reqStream.Write(data, 0, data.Length);
reqStream.Close();
}
// Get Response
WebResponse myResponse;
myResponse = myRequest.GetResponse();
XmlDocument _xmlDoc = new XmlDocument();
using (Stream responseStream = myResponse.GetResponseStream())
{
_xmlDoc.Load(responseStream);
}
您是否拥有GET或POST取决于您的方案 - 在GET中,您将不会有请求数据。
将XML作为XmlDocument返回后,您可以针对XML架构验证XML,或者只是尝试将其反序列化为您拥有的XSD架构所代表的类型。
如果有效 - >你得到的XML是有效的,没问题。如果没有,您将获得反序列化的例外。
马克