Usuário com melhor resposta
Ler RSS

Pergunta
-
Boa Tarde!
Fiquem com Deus!
Posso não concordar com o que vc disse, mas lutarei até a morte pelo seu direito de dizer...
- Editado rodrigo.apostolo terça-feira, 3 de junho de 2014 11:39 ataque
Respostas
-
Ola,
Se voce estiver usando o framework 3 ou maior voce pode usar o SyndicationFeed:
http://msdn.microsoft.com/en-us/library/system.servicemodel.syndication.syndicationfeed.aspx
http://www.blackwasp.co.uk/RSSAtomFeed.aspx
Para os demias frameworks eu estava usando o NSoup, uma biblioteca escrita originalmente para java (Jsoup) que eu uso em aplicações Android, gostei tanto que comecei a usar tambem no .Net...
A vantagem dela é que voce pode fazer consultas a tags xml como se fosse jQuery.
http://stackoverflow.com/questions/9886531/how-to-parse-xml-with-jsoup
Microsoft Community Contributor
- Editado Rui SantosModerator terça-feira, 16 de julho de 2013 16:45 Add exemple
- Marcado como Resposta rodrigo.apostolo quarta-feira, 17 de julho de 2013 22:09
-
Exemplo:
using System; using System.Linq; using System.ServiceModel.Syndication; using System.Xml; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { using (var source = XmlReader.Create("http://www.feedforall.com/sample.xml")) { var rss = SyndicationFeed.Load(source); foreach (var item in rss.Items) { Console.WriteLine("Title: {0}", item.Title.Text); Console.WriteLine("Link.: {0}", item.Links.FirstOrDefault().Uri); Console.WriteLine(); } } Console.ReadLine(); } } }
Resultado:
Title: RSS Solutions for Schools and Colleges Link.: http://www.feedforall.com/schools.htm Title: RSS Solutions for Computer Service Companies Link.: http://www.feedforall.com/computer-service.htm Title: RSS Solutions for Governments Link.: http://www.feedforall.com/government.htm Title: RSS Solutions for Politicians Link.: http://www.feedforall.com/politics.htm Title: RSS Solutions for Meteorologists Link.: http://www.feedforall.com/weather.htm Title: RSS Solutions for Realtors & Real Estate Firms Link.: http://www.feedforall.com/real-estate.htm Title: RSS Solutions for Banks / Mortgage Companies Link.: http://www.feedforall.com/banks.htm Title: RSS Solutions for Law Enforcement Link.: http://www.feedforall.com/law-enforcement.htm
Microsoft Community Contributor
- Marcado como Resposta rodrigo.apostolo quarta-feira, 17 de julho de 2013 22:09
-
Boa tarde. Existem muitas maneiras de fazer isso e a mais fácil que eu acho é usando um DataSet.
Seu Código ficaria Assim :
public DataTable LerFeed() { DataSet Feed = new DataSet(); Feed.ReadXML("http://www.seufeed.com.br/feed"); // Se souber o indice da tag xml pode colocar o numero return Feed.Tables["tagfeed"]; } // Já para ler os 10 ultimos faria assim public void Pega10() { List<DataRow> Lista10 = LerFeed().Select().Take(10).ToList(); string Titulo1 = Lista10[0]["tagTitulo"]; } // Eu fiz um exemplo funcional usando o feed da globo de carros // Porém só fiz leitura e não apresentei os dados // abaixo está o código public void FeedCarro() { System.Data.DataSet Feed = new System.Data.DataSet(); Feed.ReadXml("http://g1.globo.com/dynamo/carros/rss2.xml"); System.Data.DataTable tabela = Feed.Tables["item"]; int Total = Feed.Tables["item"].Rows.Count; List<System.Data.DataRow> Linhas = tabela.Select().Take(10).ToList(); int Total2 = Linhas.Count(); string Titulo1 = Linhas[0]["title"].ToString(); }
Espero ter ajudado e marque como resposta se lhe serviu.
Davi Murilo Referência Principal : Jesus que ilumina minha mente.
Referência Profissonal : http://www.tidm.com.br- Marcado como Resposta rodrigo.apostolo quarta-feira, 17 de julho de 2013 22:10
Todas as Respostas
-
Ola,
Se voce estiver usando o framework 3 ou maior voce pode usar o SyndicationFeed:
http://msdn.microsoft.com/en-us/library/system.servicemodel.syndication.syndicationfeed.aspx
http://www.blackwasp.co.uk/RSSAtomFeed.aspx
Para os demias frameworks eu estava usando o NSoup, uma biblioteca escrita originalmente para java (Jsoup) que eu uso em aplicações Android, gostei tanto que comecei a usar tambem no .Net...
A vantagem dela é que voce pode fazer consultas a tags xml como se fosse jQuery.
http://stackoverflow.com/questions/9886531/how-to-parse-xml-with-jsoup
Microsoft Community Contributor
- Editado Rui SantosModerator terça-feira, 16 de julho de 2013 16:45 Add exemple
- Marcado como Resposta rodrigo.apostolo quarta-feira, 17 de julho de 2013 22:09
-
Exemplo:
using System; using System.Linq; using System.ServiceModel.Syndication; using System.Xml; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { using (var source = XmlReader.Create("http://www.feedforall.com/sample.xml")) { var rss = SyndicationFeed.Load(source); foreach (var item in rss.Items) { Console.WriteLine("Title: {0}", item.Title.Text); Console.WriteLine("Link.: {0}", item.Links.FirstOrDefault().Uri); Console.WriteLine(); } } Console.ReadLine(); } } }
Resultado:
Title: RSS Solutions for Schools and Colleges Link.: http://www.feedforall.com/schools.htm Title: RSS Solutions for Computer Service Companies Link.: http://www.feedforall.com/computer-service.htm Title: RSS Solutions for Governments Link.: http://www.feedforall.com/government.htm Title: RSS Solutions for Politicians Link.: http://www.feedforall.com/politics.htm Title: RSS Solutions for Meteorologists Link.: http://www.feedforall.com/weather.htm Title: RSS Solutions for Realtors & Real Estate Firms Link.: http://www.feedforall.com/real-estate.htm Title: RSS Solutions for Banks / Mortgage Companies Link.: http://www.feedforall.com/banks.htm Title: RSS Solutions for Law Enforcement Link.: http://www.feedforall.com/law-enforcement.htm
Microsoft Community Contributor
- Marcado como Resposta rodrigo.apostolo quarta-feira, 17 de julho de 2013 22:09
-
Boa tarde. Existem muitas maneiras de fazer isso e a mais fácil que eu acho é usando um DataSet.
Seu Código ficaria Assim :
public DataTable LerFeed() { DataSet Feed = new DataSet(); Feed.ReadXML("http://www.seufeed.com.br/feed"); // Se souber o indice da tag xml pode colocar o numero return Feed.Tables["tagfeed"]; } // Já para ler os 10 ultimos faria assim public void Pega10() { List<DataRow> Lista10 = LerFeed().Select().Take(10).ToList(); string Titulo1 = Lista10[0]["tagTitulo"]; } // Eu fiz um exemplo funcional usando o feed da globo de carros // Porém só fiz leitura e não apresentei os dados // abaixo está o código public void FeedCarro() { System.Data.DataSet Feed = new System.Data.DataSet(); Feed.ReadXml("http://g1.globo.com/dynamo/carros/rss2.xml"); System.Data.DataTable tabela = Feed.Tables["item"]; int Total = Feed.Tables["item"].Rows.Count; List<System.Data.DataRow> Linhas = tabela.Select().Take(10).ToList(); int Total2 = Linhas.Count(); string Titulo1 = Linhas[0]["title"].ToString(); }
Espero ter ajudado e marque como resposta se lhe serviu.
Davi Murilo Referência Principal : Jesus que ilumina minha mente.
Referência Profissonal : http://www.tidm.com.br- Marcado como Resposta rodrigo.apostolo quarta-feira, 17 de julho de 2013 22:10
-
Olá galera obrigado por todas as reposta, fiz o teste de alguns exemplos citados acima mais ñ consegui resolver o meu problema.
Mais procurando na web achei esta solução:
http://www.osabetudo.com/consumindo-um-rss-em-asp-net/#_
Obrigado a todo!
Fiquem com Deus!
Posso não concordar com o que vc disse, mas lutarei até a morte pelo seu direito de dizer...