Ler um RSS sem o uso do LINQ é preciso usar algumas estruturas de repetições, que pode até deixar o algoritmo um pouco confuso. A algum tempo atrás eu fiz um leitor de RSS em PHP (está hospedado no PHP Brasil), ficou em um ótimo algoritmo, mas deve ter dado 3x mais linha do que agora com o LINQ.
Sempre me perguntei "Como será uma linguagem sem usar as comuns estruturas de condições e repetições?", mas depois que li um RSS usando LINQ, eu percebi minha pergunta já estava sendo respondida. Acredito que o LINQ será o PAI das novas linguagens.
Mas chega de tanto blablabla, abaixo está o exemplo:
Em C#:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
CarregaRss(@"http://feeds.feedburner.com/magodigital");
}
protected void CarregaRss(string url)
{
XDocument feedDoc = XDocument.Load(url);
var query = from feed in feedDoc.Descendants("channel")
select new
{
Titulo = feed.Element("title").Value,
Descricao = feed.Element("description").Value,
Link = feed.Element("link").Value,
Itens = (from feedItens in feed.Descendants("item")
select new
{
Titulo = feedItens.Element("title").Value,
Link = feedItens.Element("link").Value,
Descricao = feedItens.Element("description").Value
}).ToList()
};
var rss = query.Single();
LblTitulo.Text = rss.Titulo;
LblDescricao.Text = rss.Descricao;
HypLink.Text = HypLink.NavigateUrl = rss.Link;
GridItems.DataSource = rss.Itens;
GridItems.DataBind();
}
Em Asp.NET:
<form id="form1" runat="server">
Titulo : <asp:Label ID="LblTitulo" runat="server" />
Descricao: <asp:Label ID="LblDescricao" runat="server" />
Link: <asp:HyperLink ID="HypLink" runat="server" />
<asp:GridView ID="GridItems" runat="server" />
</form>
Be the first to rate this post
- Currently 0/5 Stars.
- 1
- 2
- 3
- 4
- 5