如何用ASP.Net从数据库读取数据生成并发送XML数据(不生成XML文件)?

<%@ Page ContentType="text/xml" %>
<%@ Import Namespace="BLOG" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Text" %>
<script language="C#" runat="server">
void Page_Load(object sender, EventArgs e)
{
        string user=Request["user"].ToString();
        blogCOM bc=new blogCOM();
  ArrayList al=new ArrayList();
  al=bc.GetBlogInfo(user);
  int userID=Convert.ToInt32(al[5]);
  DataSet ds=new DataSet();
  ds=bc.GetBlogTitle(userID,0,"0");
  bc.Dispose();

  XmlTextWriter writer = new XmlTextWriter(Response.OutputStream,null);

  writer.WriteStartDocument();
  writer.WriteStartElement("rss");
  writer.WriteAttributeString("version","","2.0");
  
  writer.WriteStartElement("channel");
  
  writer.WriteStartElement("title");
  writer.WriteString(al[3].ToString());
  writer.WriteEndElement();
  
  writer.WriteStartElement("link");
  writer.WriteString("http://www.chinamacro.com/visit.aspx?user=" + user);
  writer.WriteEndElement();
  
  writer.WriteStartElement("description");
  writer.WriteString(al[3].ToString());
  writer.WriteEndElement();
  
  writer.WriteStartElement("language");
  writer.WriteString("zh-CN");
  writer.WriteEndElement();
  
  writer.WriteStartElement("pubDate");
  writer.WriteString(al[4].ToString());
  writer.WriteEndElement();
  
  writer.WriteStartElement("webMaster");
  writer.WriteString(al[7].ToString());
  writer.WriteEndElement();

  
  writer.WriteStartElement("image");
  
  writer.WriteStartElement("title");
  writer.WriteString(al[3].ToString());
  writer.WriteEndElement();
  
  writer.WriteStartElement("url");
  writer.WriteString("http://www.chinamacro.com/blog/pic/logo.gif");
  writer.WriteEndElement();
  
  writer.WriteStartElement("link");
  writer.WriteString("http://www.chinamacro.com/blog/visit.aspx?user=" + user);
  writer.WriteEndElement();
  
  writer.WriteEndElement();
  
  
  for (int i=0;i<ds.Tables[0].Rows.Count;i++)
     {
        writer.WriteStartElement("item");
    
     writer.WriteStartElement("title");
     writer.WriteString(ds.Tables[0].Rows[i].ItemArray[1].ToString());
     writer.WriteEndElement();
     writer.WriteStartElement("link");
     writer.WriteString("http://www.chinamacro.com/blog/visit_detail.aspx?blogID=" + ds.Tables[0].Rows[i].ItemArray[0].ToString());
     writer.WriteEndElement();
     writer.WriteStartElement("description");
     writer.WriteString(ds.Tables[0].Rows[i].ItemArray[1].ToString());
     writer.WriteEndElement();
     writer.WriteStartElement("pubDate");
     writer.WriteString(ds.Tables[0].Rows[i].ItemArray[3].ToString());
     writer.WriteEndElement();
    
     writer.WriteEndElement();      
     }

  
  writer.WriteEndElement();
  
  writer.WriteEndElement();
  
  writer.WriteEndDocument();

        ds.Dispose();
  writer.Flush();
  writer.Close();  
}
</script>

posted on 2007-03-16 15:45  aliketen  阅读(984)  评论(0)    收藏  举报

导航