PDA

View Full Version : گفتگو: ساخت RSS برای سایت و مدیریت آن



roomezonline
چهارشنبه 31 شهریور 1389, 16:34 عصر
سلام دوستان

من برای پروژه خودم یک قسمت RSS طراحی کردم . اما مشکل اینجاست که زمان خوندن اگر در دیتا انتقالی از کدهای html استفاده بشه خطا میده
نمونه کد و نمونه خطا رو میزارم . از اساتید محترم درخواست راهنمایی دارم







Imports System.Data.SqlClient

Imports System.Data ' برای کار کردن با دیتاست
Imports System.Data.OleDb ' برای اتصال و ارتباط با بانک اطلاعاتی
Imports System.IO ' برای نوشتن در فایل ها
Partial Class rss
Inherits System.Web.UI.Page



Sub Create_my_xml()
Dim con As SqlConnection
con = New SqlConnection(ConfigurationManager.ConnectionStrin gs("ConnectionString").ConnectionString)
' ساخت یک متغیر از نوع دیتا ریدر
Dim DBReader As SqlDataReader
' ساخت یک متغیر از نوع استریم رایتر
Dim FileWriter As StreamWriter

'تعیین شی و رشته اتصال به بانک اکسس


'تعیین شی و رشته تقاضا
Dim cmd As New SqlCommand("SELECT * FROM tbpost", con)

'باز نمودن اتصال
con.Open()
'نسبت دادن خوننده سطر ها به دیتا ریدر
DBReader = cmd.ExecuteReader()

'این دستور فایل مورد نظر رو می سازه
FileWriter = File.CreateText(MapPath("RSS.xml"))

'دستورات زیر خط به خط داخل فایل تعین شده در بالا رایت می کنند
FileWriter.WriteLine("<rss version=""2.0"">")
FileWriter.WriteLine("<channel>")
FileWriter.WriteLine("<title>HOW2LEARNASP.NET</title>")
FileWriter.WriteLine("<link>http://aspspider.ws/roomezoline1</link>")
FileWriter.WriteLine("<description>mostafa roomezonline </description>")

'اینجا هم چون تعداد نوشته های شما متغیر هست توسط یک حلقه وایل همه اونارو رایت می کنیم

While DBReader.Read()
FileWriter.WriteLine("<item>")
FileWriter.WriteLine("<pubDate>" & DBReader("datepost") & "</pubDate>")
FileWriter.WriteLine("<title>" & DBReader("titpost") & "</title>")
FileWriter.WriteLine("<link>readpost.aspx?postid=" & DBReader("id") & "</link>")
FileWriter.WriteLine("<description>" & DBReader("post") & "</description>")
FileWriter.WriteLine("</item>")
End While


FileWriter.WriteLine("</channel>")
FileWriter.WriteLine("</rss>")
FileWriter.Close()

' بستن دیتا ریدر
DBReader.Close()

'بستن اتصال
con.Close()

End Sub

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Call Create_my_xml() ' ساب روتین فوق رو فراخوانی می کنه
Response.Redirect("rss.xml") ' کاربر رو به فایل مورد نظر هدایت می کنه
End Sub
End Class


و اینم خطا زمان اجرا






End tag 'description' does not match the start tag 'BR'.
Line: 13 Character: 348
<H2>Web site</H2>If you are experiencing un resolvable errors with your website here, you may try to <A href="http://www.aspspider.com/cp/RepairSite.aspx">Repair site</A>. If that does not work, you may <A href="http://www.aspspider.com/cp/CloseHostingAccount.aspx">close your web site</A> and re create a new site under a different domain. <BR></description>




لطفا راهنمایی کنید

اوبالیت به بو
چهارشنبه 31 شهریور 1389, 17:05 عصر
سلام

در مقاله آقاي بهروز راد يك نكته اي گفته شده.

براي اينكه مقادير HTML در XML ذخيره بشه برخي كاراكتر ها بايد تبديل بشن. مثلا كاراكتر " بايد بشه &qt. يك متدي داره كه بايد اون رو استفاده كني.
اين رو سرچ كن: "RSS از آغاز تا پايان"