但後來我只是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