从aspx网页读取xml

Posted

技术标签:

【中文标题】从aspx网页读取xml【英文标题】:Reading xml from aspx web page 【发布时间】:2010-11-29 10:54:44 【问题描述】:

我们必须从一个 aspx 页面读取数据。当我们使用查询字符串调用页面时,它会返回一个 xml 文档,其中包含与查询字符串匹配的数据。

我们有一个与我们返回的 xml 匹配的 XSD。

我认为我们可以从 http 响应中读取 xml 文档。这行得通吗?

我们如何绑定 XML 与 XSD,以便我们可以将 XML 文档视为强类型?

谢谢,

设拉子

更新:

找到这个关于如何反序列化的链接

Deserializing XML to Objects in C#

【问题讨论】:

【参考方案1】:

嗯,基本上,您可以请求类似这样的 XML 文档(这里没有尝试/捕获 - 但您绝对应该添加它!):

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 架构验证它,或者只是尝试将其反序列化为您拥有的 XSD 架构所表示的类型。

如果可行 --> 你得到的 XML 是有效的并且没问题。如果没有,您将在反序列化时遇到异常。

马克

【讨论】:

以上是关于从aspx网页读取xml的主要内容,如果未能解决你的问题,请参考以下文章

读取在java中存储为字符串的xml [重复]

WPF做的Winform 怎样从外部xml文件读取样式

java从xml读取数据更快还是从数据库里读取数据更快?

从 javascript 读取本地 xml

从 XML 读取数据 [重复]

使用 scala 从 HDFS 读取输入 xml 数据