It’s Easy To Create RSS Feeds Using VB 9.0 XML Literals and LINQ To XML

Friday, May 08, 2009 - 1183 views

Seperti yang sudah kita kenal sebelumnya bahwa RSS (Really Simple Syndication) Feeds merupakan sebuah object yang berisi summary dari beberapa artikel, news atau konten lainnya yang dibentuk dengan menggunakan format xml. RSS ini berguna untuk melihat konten dari sebuah web site tanpa harus mengunjungi web site tersebut secara full. User yang ingin selalu update terhadap konten sebuah website dapat berlangganan (subscribe) feeds tersebut dimana nantinya feeds yang bersangkutan akan di bookmark oleh web browser yang digunakan.

Terdapat dua jenis syndication yang umum digunakan yaitu RSS 2.0 dan Atom 1.0. Namun pada kesempatan kali ini saya hanya akan menjelaskan struktur xml file RSS 2.0 dan bagaimana cara pembuatannya dengan menggunakan VB 9.0 XML Literal dan LINQ To XML. Sebenarnya terdapat cara lain untuk membuat RSS Feeds ini selain dengan menggunakan XML Literal dan LINQ To XML ini, yaitu dengan menggunakan XML API yang disediakan oleh .NET Framework seperti XMLDocument class. Namun dengan XML Literal dan LINQ To XML ini membuat hidup developer lebih mudah lagi dalam membuat RSS Feed generator ini. It’s really really simple :)

Pertama kita akan lihat terlebih dahulu struktur dari RSS 2.0 :

Hal pertama yang harus diperhatikan yaitu deklarasi elemen rss pada baris kedua diatas. Hal ini menunjukkan bahwa file bersangkutan merupakan rss file, sehingga browser dapat melakukan parsing dan menampilkan output file rss tersebut yang telah ditransformasikan dengan XSLT sehingga tampilan di browsernya tidak flat file seperti biasa.

Root document file rss tersebut yaitu elemen channel. Didalam elemen channel terdapat beberapa child node. Child node yang pertama yaitu title, elemen ini berguna untuk menampilkan title dari rss ini dan juga berguna sebagai teks yang akan tampil di bookmark browser ketika feeds ini di subscribe. Sibling node berikutnya yaitu description yang menjelaskan secara global isi dari feeds, link elemen yang diisi dengan link url website tersebut, lastBuildDate yang digunakan sebagai petunjuk kapan terakhir kali feeds ini di update, managingEditor diisi dengan nama atau alamat email dari admin rss.

Elemen berikutnya yaitu item, elemen ini memiliki beberpa child node lagi, yaitu title yang diisi dengan title dari artikel atau news yang ditampilkan, elemen link yang berisi url untuk melihat artikel atau news secara full, pubDate elemen berisi tanggal dimana artikel tersebut di publish, kemudian yang terakhir yaitu description yang diisi dengan summary content atau full content artikel atau news tersebut.

Elemen item ini dapat memiliki jumlah lebih dari satu sesuai dengan jumlah artikel yang ingin ditampilkan di rss feeds. Sehingga apabila rss feeds tersebut memiliki 5 artikel maka rss file ini juga akan memiliki 5 elemen item beserta child nodenya.

Selain itu ada beberapa hal yang harus diperhatikan juga yaitu format tanggal yang digunakan pada elemen lastBuildDate dan pubDate. Untuk lastBuildDate itu harus menggunakan format seperti ini “Wed, 06 May 2009 04:24:52 GMT” sedangkan untuk pubDate seperti ini : "25 Apr 2009 15:21:34 GMT” . Apabila format yang digunakan tidak sesuai aturan maka browser tidak akan menampilkan tanggal tersebut.

Ok…sekarang anda buat sebuah asp.net 3.5 web application dari visual studio 2008, pilih bahasanya Visual Basic. Kemudian lakukan langkah-langkah berikut :

1. Tambahkan xml file kedalam project, berikan nama rss.xml.

2. Isi xml file tersebut dengan elemen-elemen seperti yang dapat anda lihat diatas. Hal ini dilakukan terlebih dahulu untuk membuat file xml schema (xsd) yang nantinya akan digunakan sebagai sarana yang akan membuat query LINQ To XML strongly typed yang akan menampilkan nama-nama elemen dan atribut di intellisensenya.

3. Tambahkan item baru kedalam project di folder App_Code – pilih item Xml To Schema pada My Templates – berikan nama rss.xsd. Sebelum melakukan hal ini anda terlebih dahulu harus install template untuk Xml To Schema, petunjuknya dapat anda lihat di artikel yang telah saya buat disini : LINQ to XML (Importing xmlns, Accessing and Filtering xml node value without XPathQuery, Strongly typed XElement)

4. Buat sebuah prosedur untuk update atau menulis item baru kedalam file rss.xml :

5. Dengan adanya xml schema untuk file rss diatas maka intellisense akan menampilkan nama-nama element dan atributnya seperti yang dapat anda lihat pada gambar dibawah ini :

6. Sekarang anda tinggal memanggil prosedur tersebut dengan cara seperti biasa apabila kita memanggil sebuah prosedur :

7. Selanjutnya anda tinggal mencari icon rss file, cukup googling dan kita akan mendapatkan banyak icon rss file, choose your favorite icon and add to your website.

8. Sekarang kita akan buat link yang merujuk ke file rss.xml dengan menggunakan icon yang telah anda dapatkan (contoh yang saya berikan disini yaitu menggunakan web user control, untuk lokasi image file nya silahkan anda sesuaikan dengan lokasi tempat penyimpanan file icon tersebut) :

9. Tampilan dari web user control diatas dapat seperti yang dapat anda lihat dibawah ini :

10. Tampilan rss file setelah anda klik link tersebut untuk beberapa browser berbeda-beda, mari kita lihat tampilannya di browser-browser berikut ini :

IE 8 :

Opera :

Firefox :

See U on the next article…