Googleで検索しようとしましたが、この問題を解決するのに役立つものは何も見つかりませんでした. RSS を使用すると、DB からの 10 個の最新ニュースが通知されるページがあります。このレッスンを使用してこのタスクを完了しました - http://net.tutsplus.com/tutorials/asp-net/how-to-build-an-rss-feed-with-asp-net/アプリケーションを起動すると、次のエラーまたはアラート nvm:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<rss version="2.0">
<channel>
<title>Name of the website</title>
<link>http://pudel.com</link>
<description>Short description of the site</description>
<item>
<title>Jenzyk Polski</title>
<link>http://localhost:56957/rss.aspx?ID=11</link>
<pubDate>Wed, 03 Apr 2013 00:00:00 GMT</pubDate>
<description>Co to jest?</description>
</item>
<item>
<title>Czy mowic pana zona po Polsku?</title>
<link>http://localhost:56957/rss.aspx?ID=13</link>
<pubDate>Tue, 02 Apr 2013 00:00:00 GMT</pubDate>
<description>Tak, bardzo dobze mowic</description>
</item>
<item>
<title>Kim jestes z pochodzenia?</title>
<link>http://localhost:56957/rss.aspx?ID=12</link>
<pubDate>Tue, 02 Apr 2013 00:00:00 GMT</pubDate>
<description>Jestes Polakiem</description>
</item>
</channel>
</rss>
[/XML]
確かに、この見解は私が計画したものではありません。では、どこに問題があるのでしょうか。さまざまなブラウザで開こうとしましたが、すべて同じです。web.config のエンコーディングを UTF-8 から WINDOWS-1251 に変更しようとしましたが、すべて同じです。
rss.aspx.cs ページのコードは次のとおりです。
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
namespace softacom.pb
{
public partial class rss : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string connString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
SqlConnection sqlConn = new SqlConnection();
sqlConn.ConnectionString = connString;
string sqlQuery = "SELECT TOP 10 newsID, Title, Date, Description FROM News ORDER BY Date DESC";
SqlCommand cmd = new SqlCommand();
cmd.Connection = sqlConn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = sqlQuery;
sqlConn.Open();
RepeaterRSS.DataSource = cmd.ExecuteReader();
RepeaterRSS.DataBind();
sqlConn.Close();
}
protected string RemoveIllegalCharacters(object input)
{
string data = input.ToString();
data = data.Replace("&", "&");
data = data.Replace("\"", """);
data = data.Replace("'", "'");
data = data.Replace("<", "<");
data = data.Replace(">", ">");
return data;
}
}
}
そして、ここに rss.ASPX があります
<%@ Page Language="C#" ContentType="text/xml" AutoEventWireup="true" CodeBehind="rss.aspx.cs" Inherits="softacom.pb.rss" %>
<asp:Repeater ID="RepeaterRSS" runat="server">
<HeaderTemplate>
<rss version="2.0">
<channel>
<title>Name of the website</title>
<link>http://pudel.com</link>
<description> Short description of the site</description>
</HeaderTemplate>
<ItemTemplate>
<item>
<title><%# RemoveIllegalCharacters(DataBinder.Eval(Container.DataItem, "Title"))%> </title>
<link>http://localhost:56957/rss.aspx?ID=<%# DataBinder.Eval(Container.DataItem, "newsID") %></link>
<pubDate><%# String.Format("{0:R}", DataBinder.Eval(Container.DataItem, "Date"))%> </pubDate>
<description><%# RemoveIllegalCharacters(DataBinder.Eval(Container.DataItem, "Description"))%></description>
</item>
</ItemTemplate>
<FooterTemplate>
</channel>
</rss>
</FooterTemplate>
</asp:Repeater>