0

我已经在 asp.net 3.5 中实现了 RSS 的代码。我可以在 Firefox 的应用程序中看到 RSS 提要。

但我无法在 Google chrome 浏览器中加载 RSS 提要。它只显示了我在代码中编写的 XML。

如何使我的代码浏览器独立?

<rss version="2.0">
    <channel>
    <title>Demo Site</title>
        <link>http://www.ABC.com</link>
<asp:repeater id="rptRss" runat="server">
    <ItemTemplate>
        <item>

             <% if (Global.SessionData.Language == Convert.ToInt16(Global.GlobalCls.Language.Arabic))
   {%>
    <title>
            <%# RemoveIllegalCharacters(DataBinder.Eval(Container.DataItem, "TitleAr"))%></title>

            <description><%# RemoveIllegalCharacters(DataBinder.Eval(Container.DataItem, "DescriptionAr"))%></description>
       <%}
   else
   {%> 
     <title>
            <%# RemoveIllegalCharacters(DataBinder.Eval(Container.DataItem, "Title"))%></title>

            <description><%# RemoveIllegalCharacters(DataBinder.Eval(Container.DataItem, "Description"))%></description>     
        <%}%>                     
    </item>

    </ItemTemplate>     
    </asp:repeater>
    </channel>
</rss>

这是我的代码。我刚刚绑定了转发器并调用了这个函数来删除非法字符。

protected string RemoveIllegalCharacters(object input)
    {
        // cast the input to a string
        string data = input.ToString();
        Cache.Remove("TitleAr");
        Cache.Remove("DescriptionAr");
        Cache.Remove("Title");
        Cache.Remove("Description");
        // replace illegal characters in XML documents with their entity references
        data = data.Replace("&", "&amp;");
        data = data.Replace("\"", "&quot;");
        data = data.Replace("'", "&apos;");
        data = data.Replace("<", "&lt;");
        data = data.Replace(">", "&gt;");

        return data;
    }

提前致谢。

4

1 回答 1

0

我已将@Page 指令的 ContentType 设置为“text/xml”,以指示 rss.aspx 页面的输出是 XML 文档。它对我来说很好。

于 2012-11-16T06:35:02.163 回答