array - how to read xml in c#
La mejor manera de leer rss feed en.net Usando C# (5)
¿Cuál es la mejor manera de leer feeds RSS ?
Estoy usando XmlTextReader
para lograr esto. ¿Hay alguna otra forma mejor de hacerlo?
XmlTextReader reader = new XmlTextReader(strURL);
DataSet ds = new DataSet();
ds.ReadXml(reader);
Después de leer la fuente RSS usando XmlTextReader
, ¿hay alguna forma de que pueda completar datos en ListItem
lugar de DataSet
?
Agregar System.ServiceModel
en referencias
Usando 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;
...
}
El espacio de nombres System.ServiceModel.Syndication
tiene algunas cosas para usted, a saber, la clase SyndicationFeed .
Este es un ejemplo bastante simple. http://blogs.msdn.com/b/steveres/archive/2008/01/20/using-syndicationfeed-to-displaying-photos-from-spaces-live-com.aspx
Está buscando la SyndicationFeed , que hace exactamente eso.
Esta es una publicación anterior, pero para ahorrarle algo de tiempo a la gente si llegas aquí ahora como lo hice, te sugiero que eches un vistazo al paquete CodeHollow.FeedReader , que admite una gama más amplia de versiones RSS, es más fácil de usar y parece más robusto. . https://github.com/codehollow/FeedReader
Utilizar esta :
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);
}
}