使用网站传输XML



如何设置一个场景,其中一个网站在x上发布了一个URL,该网站将浏览时将纯粹返回XML。

其他地方的网页将击中此URL,将XML加载到对象中。

所以我想要一个url,例如http://www.xml.com/document.aspx?id=1

另一个网站将使用Webresponse和WebRequest对象从上页获得响应,我希望响应是一个不错的XML,因此我可以使用XML来填充对象。

我确实有一些工作,但是响应包含渲染页面所需的所有HTML,实际上我只希望XML作为响应。

可能是使用httphandler/ashx文件的最佳方法,但是如果您想使用页面进行操作,那是完全可能的。这两个要点是:

  1. 使用一个空页面。您想要在ASPX的标记中想要的只是<%page ...%>指令。
  2. 设置响应流的内容类型到XML -Response.ContentType = "text/xml"

您如何生成XML本身取决于您,但是如果XML代表对象图,则可以使用XmlSerializer(来自System.Xml.Serialization名称空间)将XML直接写入您的响应流。

using System.Xml.Serialization;
// New up a serialiser, passing in the System.Type we want to serialize
XmlSerializer serializer = new XmlSerializer(typeof(MyObject));
// Set the ContentType
Response.ContentType = "text/xml";
// Serialise the object to XML and pass it to the Response stream 
// to be returned to the client
serialzer.Serialize(Response.Output, MyObject);

如果您已经拥有XML,则一旦设置了ContentType,就需要将其写入响应流,然后结束并冲洗流。

// Set the ContentType
Response.ContentType = "text/xml";
Response.Write(myXmlString);
Response.Flush();
Response.End();

相关内容

  • 没有找到相关文章

最新更新