0

asp.net 3.5 で RSS のコードを実装しました。Firefox のアプリケーションで RSS フィードを表示できます。

しかし、RSS フィードを Google chrome ブラウザに読み込めませんでした。コードに記述した 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 に答える