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.
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:
<br>
Public Sub ObterRss(ByVal pUrl As String)<br>
Dim reader As XmlReader =
XmlReader.Create(pUrl)<br>
Me._feed =
SyndicationFeed.Load(reader)<br>
End Sub<br>
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.
<br>
Public ReadOnly Property Titulo As String<br>
Get<br>
Return
_feed.Title.Text<br>
End Get<br>
End Property<br>
<br>
Public ReadOnly Property Descricao As String<br>
Get<br>
Return
_feed.Description.Text<br>
End Get<br>
End Property<br>
<br>
Public ReadOnly Property Link As String<br>
Get<br>
If
_feed.Links.Count > 0 Then<br>
Return _feed.Links(0).Uri.Scheme & "://" &
_feed.Links(0).Uri.Host & _feed.Links(0).Uri.LocalPath<br>
Else<br>
Return _feed.BaseUri.Scheme & "://" & _feed.BaseUri.Host
& _feed.BaseUri.LocalPath<br>
End If<br>
End Get<br>
End Property<br>
<br>
Public ReadOnly Property Posts As IEnumerable<br>
Get<br>
Return
_feed.Items<br>
End Get<br>
End Property<br>
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:
<br>
For Each item As SyndicationItem In oRss.Posts<br>
Me.grdPosts.Rows.Add(item.PublishDate.ToLocalTime, item.Title.Text,
item.Links(0).Uri, item.Summary.Text)<br>
Next<br>
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
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo