Olá pessoal, neste artigo irei mostrar como é simples,
rápido e prático criar um leitor de RSS utilizando o VB.net 2010.
Abra seu Visual Basic 2010 Express Edition e crie um novo projeto Windows Form
Aplication e inclua nas referências do projeto a System.ServiceModel. Com isso,
poderemos utilizar o namespace System.ServiceModel.Syndication, que contem a
classe Rss20FeedFormatter que iremos utilizar para implementarmos nosso leitor.
Crie uma classe chamada clsRss.vb e importe os namespaces System.Xml e System.ServiceModel.Syndication.
A seguir criaremos uma variável global e privada que irá guardar todas as
informações do feed que iremos ler. Essa variável será do tipo SyndicationFeed
e a chamarei de _feed. A seguir, criaremos o método ObterRss como a seguir:
Public Sub ObterRss(ByVal pUrl As String)
Dim reader As XmlReader =
XmlReader.Create(pUrl)
Me._feed =
SyndicationFeed.Load(reader)
End Sub
O parâmetro da classe é o endereço de url do RSS que iremos ler. A primeira
linha do código cria um leitor de XML que irá criar o xml a partir da url do
RSS. Na segunda linha, lemos o xml criado para o objeto do tipo SyndicationFeed
que declaramos globalmente na classe. Pronto, já temos todas as informações do
RSS.
A seguir, criaremos quatro propriedades para facilitar a interação da classe
com o objeto SyndicationFeed. Iremos criar propriedades para retornar o título
do RSS, a descrição do RSS, o link do site que o RSS está ligado e a lista de
posts do RSS.
Public ReadOnly Property Titulo As String
Get
Return
_feed.Title.Text
End Get
End Property
Public ReadOnly Property Descricao As String
Get
Return
_feed.Description.Text
End Get
End Property
Public ReadOnly Property Link As String
Get
If
_feed.Links.Count > 0 Then
Return _feed.Links(0).Uri.Scheme & "://" &
_feed.Links(0).Uri.Host & _feed.Links(0).Uri.LocalPath
Else
Return _feed.BaseUri.Scheme & "://" & _feed.BaseUri.Host
& _feed.BaseUri.LocalPath
End If
End Get
End Property
Public ReadOnly Property Posts As IEnumerable
Get
Return
_feed.Items
End Get
End Property
Essas três primeiras propriedades são bem simples e auto-explicativas. A
última, que retorna os posts do RSS, é do tipo IEnumerable pois retorna um
coleção do tipo SyndicationItem. Esta classe implementa métodos e atributos
para manipular os itens do RSS. Feito isso, nossa classe está pronta para ser
usada.
Basta você utilizar o formulário do projeto para ler e exibir os dados de seu
RSS. Abaixo, mostro um exemplo de como utilizar a propriedade Posts da classe
que criamos:
For Each item As SyndicationItem In oRss.Posts
Me.grdPosts.Rows.Add(item.PublishDate.ToLocalTime, item.Title.Text,
item.Links(0).Uri, item.Summary.Text)
Next
No arquivo deste arquivo, criei um pequeno formulário para ler e exibir o
conteúdo de um RSS. Basta você informar a url do RSS.
Com a classe aqui criada, você estará apto a utilizá-la para os mais variados
sistemas e aplicativos que necessitem utilizar informações vindas de RSS. Bem,
é isso pessoal, espero ter ajudado. Qualquer dúvida é só mandar um e-mail:
domingos@sopixel.com.br
Leitor de RSS em .Net 4.0
Este post irá mostrar como é fácil e rápido criar um leitor de RSS feito em VB.Net 4.0.
Confira outros conteúdos:
Teste unitário com NUnit
Como migrar projetos do ASP.NET MVC...
Crie relatórios com o Stimulsoft...
Por
Domingos
Em 2011