c# - 从 aspx 网页读取 xml

标签 c# asp.net xml http xsd

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

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

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

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

谢谢,

设拉子

更新:

找到有关如何反序列化的链接

Deserializing XML to Objects in C#

最佳答案

嗯,基本上,您可以像这样请求一个 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 模式验证它,或者只是尝试将其反序列化为您拥有的 XSD 模式所表示的类型。

如果可行 --> 您获得的 XML 有效且正常。否则,您将获得反序列化异常。

马克

关于c# - 从 aspx 网页读取 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1443858/

相关文章:

c# - 后台服务/ worker 不进行垃圾收集

c# - 使用 x :Shared ="False" resources in external assembly in WPF 时出错

c# - 带有简单注入(inject)器的 ASP.NET Core

ASP.NET 超链接 asp :HyperLink vs A href

java - 如何解析通用 XSD 文档

c# - 用于在字符串中查找 URL 的正则表达式

时间:2019-03-17 标签:c#classgraphtoNeo4j

asp.net - 如何在 IISExpress 上使用带有 localhost 的子域?

xml - XSLT 中的模式匹配元素名称

xml - VB 脚本修改 XML 文件节点