.Text的MainFeed.aspx生成RSS的问题

      今天Hover向我反映用Apilon阅读博客园的RSS进不能正确显示,而阅读CSDN的RSS却没问题。我比较了两个xml文件,发觉博客园的RSS少了一行<?xml version="1.0" encoding="gb2312"?>,我想应该是这个引起的,而我用SharpReader阅读没问题。博客堂也有一篇文章介绍.Text中的这个Bug,原因就是“代码中使用了StringWriter作为XmlTextWriter的内部写入器”,于是我就采用Stream作为XmlTextWriter的内部写入器,我突然想到何不直接用Response.OutputStream作为写入器,这样岂不更简单。我给GetRSS(DataTable dt, string appPath,Stream OutStream)增加了一个参数OutStream,在该方法中我这样构造XmlTextWrter:

XmlTextWriter writer = new XmlTextWriter(OutStream,System.Text.Encoding.GetEncoding("gb2312"));

显示RSS时,就这样调用:

GetRSS(feedData,Request.ApplicationPath,Response.OutputStream);

结果生成的RSS用RSS阅读器可以正常阅读。唯一不足的地方是在浏览器中只显示xml内容,不显示xml标记。这个问题我暂时还不知道怎么解决,请高手指教。

posted @ 2004-01-16 21:33  dudu  阅读(1565)  评论(4编辑  收藏  举报