【发布时间】:2010-12-22 19:20:48
【问题描述】:
我有一个页面,我只是将一堆 XML 数据写入屏幕。它正在调用多个数据库来获取所有数据:
XmlTextWriter writer = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);
writer.WriteStartDocument();
writer.WriteStartElement("rss");
writer.WriteAttributeString("version", "2.0");
writer.WriteStartElement("channel");
writer.WriteElementString("title", "MyTitle");
writer.WriteElementString("link", "http://www.mysite.com/");
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
SqlCommand cmd = new SqlCommand("SELECT * FROM vwXMLFeedData", conn);
conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
writer.WriteStartElement("item");
writer.WriteElementString("title", rdr["Title"].ToString());
writer.WriteElementString("link", rdr["URL"].ToString());
writer.WriteEndElement();
}
}
}
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
writer.Close();
我想缓存所有 XML 数据,这样我就不需要每次都进行数据库调用,但我不确定如何使用 XmlTextWriter 进行操作。这里最好的策略是什么?
【问题讨论】:
-
仅供参考,您不应该使用
new XmlTextWriter()。自 .NET 2.0 以来,它已被弃用。请改用XmlWriter.Create()。