Лучший способ прочитать rss-канал в .net Использование С#
Каков наилучший способ чтения RSS-каналов?
Я использую XmlTextReader
для достижения этого. Есть ли другой лучший способ сделать это?
XmlTextReader reader = new XmlTextReader(strURL);
DataSet ds = new DataSet();
ds.ReadXml(reader);
Прочитав RSS-канал с помощью XmlTextReader
, можно ли каким-либо образом заполнить данные до ListItem
вместо DataSet
?
![enter image description here]()
Ответы
Ответ 1
В пространстве имен System.ServiceModel.Syndication
есть некоторые вещи для вас, а именно класс SyndicationFeed.
Это довольно простой пример.
http://blogs.msdn.com/b/steveres/archive/2008/01/20/using-syndicationfeed-to-displaying-photos-from-spaces-live-com.aspx
Ответ 2
Добавить System.ServiceModel
в ссылках
Использование SyndicationFeed
:
string url = "http://fooblog.com/feed";
XmlReader reader = XmlReader.Create(url);
SyndicationFeed feed = SyndicationFeed.Load(reader);
reader.Close();
foreach (SyndicationItem item in feed.Items)
{
String subject = item.Title.Text;
String summary = item.Summary.Text;
...
}
Ответ 3
Вы ищете SyndicationFeed
класс, который делает именно это.
Ответ 4
Используйте это:
private string GetAlbumRSS(SyndicationItem album)
{
string url = "";
foreach (SyndicationElementExtension ext in album.ElementExtensions)
if (ext.OuterName == "itemRSS") url = ext.GetObject<string>();
return (url);
}
protected void Page_Load(object sender, EventArgs e)
{
string albumRSS;
string url = "http://www.SomeSite.com/rss";
XmlReader r = XmlReader.Create(url);
SyndicationFeed albums = SyndicationFeed.Load(r);
r.Close();
foreach (SyndicationItem album in albums.Items)
{
cell.InnerHtml = cell.InnerHtml +string.Format("<br \'><a href='{0}'>{1}</a>", album.Links[0].Uri, album.Title.Text);
albumRSS = GetAlbumRSS(album);
}
}
Ответ 5
Это старое сообщение, но чтобы сэкономить людям некоторое время, если вы сейчас здесь, как я, я предлагаю вам взглянуть на пакет CodeHollow.FeedReader, который поддерживает более широкий диапазон RSS версии, проще в использовании и кажется более надежным. https://github.com/codehollow/FeedReader