但后来我只是Response.Write整个XML代码逐字,或者是 有一个更简洁的方式内置到.NET?
你可以使用一个XmlWriter,XDocument甚至XmlSerializer构建XML,然后将其写入Response.OutputStream
。
这里有一个XDocument
一个例子:
public void ProcessRequest(HttpContext context)
{
var doc = new XDocument(
new XElement(
"messages",
new XElement(
"message",
new XAttribute("id", "1"),
new XAttribute("value", "message 1"),
),
new XElement(
"message",
new XAttribute("id", "2"),
new XAttribute("value", "message 2")
)
)
);
context.Response.ContentType = "text/xml";
using (var writer = XmlWriter.Create(context.Response.OutputStream))
{
doc.WriteTo(writer);
}
}
的JSON
同样的问题
你会使用JSON序列如JavaScriptSerializer,然后将其写入到输出流:
public void ProcessRequest(HttpContext context)
{
var serializer = new JavaScriptSerializer();
string json = serializer.Serialize(new
{
messages = new[]
{
new { id = 1, value = "message 1" },
new { id = 2, value = "message 2" },
}
});
context.Response.ContentType = "application/json";
context.Response.Write(json);
}
这就是说,你守请注意,ASP.NET MVC或敲门Web API现在是公开这些数据而不是编写通用处理程序的首选方法。
你应该使用ASP.Net MVC。它更好。 – SLaks 2012-08-15 18:15:56
[Web API](http://www.asp.net/web-api)在这里可以很好地工作 – MrOBrian 2012-08-15 18:19:09