Pregunta

Esto podría ser extraño. ¿Alguna vez has encontrado un blog que quisieras leer en orden cronológico? Y ese blog podría ser antiguo, con varios cientos de publicaciones. Cuando agrego este feed a mi lector de feeds, por ejemplo, googlereader, el último feed aparece en la parte superior y, a medida que avanzo hacia abajo, aparecen las publicaciones más antiguas. Esto podría ser frustrante si quieres leerlo desde el principio. ¿Hay algún lector que haga esto? O, me encantaría hacer esto como un proyecto favorito, (preferiblemente en C #), ¿cómo exactamente debo hacerlo? Además, ¿hay alguna biblioteca .NET que pueda usar para trabajar en canales RSS? No he hecho ninguna programación de fuente RSS antes.

EDITAR Me gustaría saber si existen limitaciones técnicas para esto. Este fue un problema interesante que encontré y pensé que podría abordarse mediante programación.

¿Fue útil?

Solución

Si decide lanzar su propia aplicación C # para hacer esto, es muy sencillo en la versión actual de .NET Framework.

Busque el System.ServiceModel.Syndication espacio de nombres. Que tiene clases relacionadas con RSS y Atom feeds. Recientemente escribí un código que genera una fuente de una base de datos usando estas clases y agrega códigos geográficos a los elementos de la fuente. Tuve el mismo problema en el que necesitaba invertir el orden de los elementos en el feed, porque mi consulta de base de datos los devolvió en el orden opuesto que quería que vieran mis usuarios.

Lo que hice fue simplemente mantener la lista de SyndicationItem objetos para el feed en mi propia estructura de datos List<SyndicationItem> hasta justo antes de que quiera escribir el feed en el disco. Entonces haría algo como esto:

private SyndicationFeed m_feed;
private List<SyndicationItem> m_items;

...snip...

m_items.Reverse();
m_feed.Items = m_items;

Otros consejos

En Google Reader, cuando estás leyendo un feed, hay una " Configuración de feed ... " menú con las opciones: " Ordenar por más nuevo " ;, " Ordenar por más antiguo " ;.

Las carpetas tienen las mismas opciones en el menú " Configuración de carpeta ... "

No se requiere programación.

Creo que podrías tener problemas con esto. Muchas fuentes RSS solo mantienen las últimas 10 publicaciones más o menos, por lo que no habría forma de proporcionar los datos más antiguos de la fuente desde que comenzó el blog.

En Google Reader, puede hacer que muestre los elementos en una carpeta (feed) desde el más nuevo al más antiguo o el más antiguo al más nuevo. Para hacer esto, seleccione el feed, seleccione & Quot; Configuración de feed & Quot; desplegable y seleccione " Ordenar por " ;. No estoy seguro de qué tan atrás va Google Reader, pero posiblemente desde que comenzó a monitorear el feed.

Esto debería ser bastante fácil con cualquier lenguaje ... todo lo que necesita hacer es leer el feed xml en una estructura DOM (casi todos los idiomas, incluido C #, tienen una clase DomDocument)

Debería poder simplemente recorrer los nodos del elemento en orden inverso ...

ver: http://msdn.microsoft. com / es-us / library / ms756177 (VS.85) .aspx

Como dijo otro, según el feed rss, solo puede obtener una cantidad finita de elementos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top