我已经在 asp.net 3.5 中实现了 RSS 的代码。我可以在Firefox中的应用程序中看到RSS提要。
但是我无法在谷歌浏览器上加载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("&", "&");
data = data.Replace(""", """);
data = data.Replace("'", "'");
data = data.Replace("<", "<");
data = data.Replace(">", ">");
return data;
}
提前谢谢。
我将@Page指令的ContentType设置为"text/xml",以指示rss.aspx页面的输出是XML文档。它对我来说工作正常。