Web design and hosting, database, cloud and social media solutions that deliver business results
  • Obchodní řešení
    • Databázové služby
      • Integrace dat
    • Robotická automatizace procesů
    • Návrh webových stránek
      • Zabezpečení webových stránek
    • Obchodní služby
      • Microsoft Azure
    • Microsoft Office
    • Sociální Média
  • Akademie
    • Výuka návrhu databáze
      • Zprávy
      • Pomocí serveru SQL Pivot-Unpivot
      • Použití dat serveru SQL Server
      • Používání funkcí dat serveru SQL Server
      • Používání funkcí serveru SQL Server
      • SQL Server 2008 plán údržby
    • Výuka designu webových stránek
      • CSS
      • ASP NET
  • O nás
    • Portfolio
    • tým
      • Gavin Clayton
      • Chester Copperpot
      • Suneel Kumar
čeština (CS)Deutsch (DE)English (EN-GB)English (EN-US)Español (ES)Français (FR)हिंदी (HI)italiano (IT)日本語 (JA)polski (PL)Português (PT)русский (RU)Türk (TR)中国的 (ZH)

Vytvořte RSS kanál pro vaše webové stránky

Snadný způsob vytvoření RSS kanálu pro vaše webové stránky v ASP.NET

O

Strávil jsem spoustu času, když jsem se díval na RSS a co mohl udělat pro mé stránky, a přestože to bylo poprvé trochu pokus a omyl, nakonec jsem se tam dostal.

Hádám, protože jste zde, že pravděpodobně rozumíte tomu, co je RSS , pokud nekontrolujete odkaz.

Níže je ukázka z RSS kanálu svého starého webu, který byl nastaven tak, aby spouštěl specifikace RSS Atom.

Sample RSS

<rss xmlns:atom="https://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <atom:link href="https://www.gsclayton.net/rss" rel="self" type="application/rss+xml"/>
        <title>gsclayton rss feed</title>
        <link>https://www.gsclayton.net</link>
        <copyright>Copyright gsclayton 2012</copyright>
        <description>The la blogs and articles from gsclayton</description>
        <item>
            <title>Disk Space and Database Size Alerts</title>
            <description>
            gsclayton.net-SQL Server 2008, Disk Space and Database Size Alerts stored procedure to check your server
            </description>
            <link>
            https://www.gsclayton.net/Blog/SQL/1/SQL%20Server%202008,%20Disk%20Space%20and%20Database%20Size%20Alerts
            </link>
            <pubDate>Wed, 20 Nov 2013 22:16:08 GMT</pubDate>
            <category>SQL</category>
            <guid>
            https://www.gsclayton.net/8e53acf0-74d8-4e32-a627-f5e71f0fb29f
            </guid>
        </item>
    </channel>
</rss>

O

Kód pravděpodobně vypadá mnohem složitější, než je, takže se můžete podívat na to, co dělá.

Nejprve importujeme obory názvů pro SQL a XML.

Poté je nastaveno připojení k databázi, v tomto případě je tažení z webového configu.

LoaderVB

VB

Imports System.Data.SqlClient
Imports System.Xml
Imports System.Data
Imports Claytabase.LanguageConvert

Partial Class RSS
  Inherits System.Web.UI.Page
  Dim con As New SqlConnection(ConfigurationManager.ConnectionStrings("MySqlConnection").ConnectionString)
  Private Sub LoadFeed() Handles Me.Load
  'Clear any previous output from the buffer
  Dim lg As String = Replace(Page.RouteData.Values("lg").ToString, "'", "''")
  Dim BaseURL As String = "https://www.claytabase.co.uk/"
  Dim MyTitle As String = ConvertText("RSSTitle", lg)
  Dim MyDescr As String = ConvertText("RSSDesc", lg)

  Response.Clear()
  Response.ContentType = "text/xml"
  Response.Charset = "Utf-8"
  Dim xtwFeed As XmlTextWriter = New XmlTextWriter(Response.OutputStream, Encoding.UTF8)
  xtwFeed.WriartDocument()
  'The mandatory rss tag
  xtwFeed.WriartElement("rss")
  xtwFeed.WriteAttriburing("version", "2.0")
  xtwFeed.WriteAttriburing("xmlns:atom", "https://www.w3.org/2005/Atom")
  'The channel tag contains RSS feed details
  xtwFeed.WriartElement("channel")
  xtwFeed.WriteRaw("<atom:link href="https://cs.claytabase.com/"" & BaseURL & lg & "/rss"" rel=""self"" type=""application/rss+xml"" />")
  xtwFeed.WriteElementString("title", MyTitle)
  xtwFeed.WriteElementString("link", baseURL)
  xtwFeed.WriteElementString("copyright", "Copyright Claytabase 2012")
  xtwFeed.WriteElementString("language", lg)
  xtwFeed.WriteElementString("description", MyDescr)

  'Objects needed for connecting to the SQL 
  Using com As New SqlCommand("EXEC GetRSS '" + lg + "'", con)
  If con.State = ConnectionState.Closed Then
  con.Open()
  Else
  End If
  Using dr = com.ExecuteReader()
  'Loop through the content of the database and add them to the RSS feed 
  While dr.Read()
  xtwFeed.WriartElement("item")
  xtwFeed.WriteElementString("title", dr.Item(0).ToString())
  xtwFeed.WriteElementString("description", dr.Item(1).ToString())
  xtwFeed.WriteElementString("link", BaseURL + dr.Item(2).ToString())
  xtwFeed.WriteElementString("pubDate", Format(CDate(dr.Item(3).ToString()), "ddd, dd MMM yyyy hh:mm:ss") + " GMT")
  xtwFeed.WriteElementString("category", dr.Item(4).ToString())
  xtwFeed.WriteElementString("guid", BaseURL + "/" + dr.Item(5).ToString())
  xtwFeed.WriteEndElement()
   End While
  End Using
  End Using
  'Close all tags 
  xtwFeed.WriteEndElement()
  xtwFeed.WriteEndElement()
  xtwFeed.WriteEndDocument()
  xtwFeed.Flush()
  xtwFeed.Close()
  Response.End()
  End Sub
End Class

Obalte se

Na kód z načtení stránky, a tady je to, kde to bylo trochu více kreativní.

Pole lg je základní část této stránky, která říká, který jazyk je pro každou žádost používán, a základní adresa URL bude stejná pro všechno, které lze později znovu použít ve skriptu.

Následující dvě pole (MyTitle a MyDescr) jsou vloženy pomocí zabudovaného konvertoru jazyků, kde databáze vrací řetězec v závislosti na jazykovém vstupu.

Další řady řádků kódu stanovilo typ kódování a odezvy, otevřel spouštěč XML a vypsal některé požadované položky, protože tyto změny se zřídka mění, je jsem nastavil ručně.

Můžeme nyní přejít na čtení dat, takže první úlohou je vytvořit příkaz SQL a v tomto případě jednoduše zavolám uloženou proceduru, která vrátí požadovaná pole z databáze v závislosti na jazykovém vstupu.

Poté otevřete připojení SQL a deklarujeme čtečku dat pro smyčku přes sadu výsledků z databáze.

Již víme, že značka XML je pro každý dokument položkou, takže ji můžeme okamžitě otevřít.

Poté zadejte každou požadovanou položku s daty a ujistěte se, že datum je ve správném formátu, pak zavřete značku pomocí funkce WriteEndElement.

Jakmile byly všechna data přečtena, kód zavírá čtečku dat, připojení a zapisuje koncové značky pro každý dříve otevřený prvek.

Jakmile jste napsali a publikovali své údaje, nezapomeňte je zkontrolovat na Validátoru RSS W3C.

Autor

Helpful?

Please note, this commenting system is still in final testing.
Copyright Claytabase Ltd 2020

Registered in England and Wales 08985867

RSSLoginLink Cookie Policymapa stránek

Social Media

facebook.com/Claytabaseinstagram.com/claytabase/twitter.com/Claytabaselinkedin.com/company/claytabase-ltd

Get in Touch

+442392064871info@claytabase.comClaytabase Ltd, Unit 3d, Rink Road Industrial Estate, PO33 2LT, United Kingdom
Nastavení na této stránce jsou nastaveny povolit všechny soubory cookie. Ty mohou být změněny na našich zásad a nastavení stránky cookie. Nadále používat tento web souhlasíte s použitím cookies.
Ousia Logo
Logout
Ousia CMS Loader