Domanda

Potrebbe essere strano, ti sei mai imbattuto in un blog che volevi leggere in ordine cronologico? E quel blog potrebbe essere vecchio, con diverse centinaia di post. Quando aggiungo questo feed al mio lettore di feed, ad esempio googlereader, l'ultimo feed viene visualizzato in cima e mentre scorro ulteriormente, vengono visualizzati i post più vecchi. Questo potrebbe essere frustrante se vuoi leggerlo dall'inizio. C'è qualche lettore che lo fa? Oppure, mi piacerebbe farlo come un progetto per animali domestici (preferibilmente in c #), come dovrei esattamente farlo? Inoltre, ci sono delle librerie .NET che posso usare per lavorare sui feed RSS? Non ho mai programmato alcun feed RSS prima.

MODIFICA Vorrei sapere se ci sono limiti tecnici a questo. Questo è stato solo un problema interessante che ho riscontrato e che pensavo potesse essere affrontato a livello di programmazione.

È stato utile?

Soluzione

Se decidi di eseguire il rollup della tua applicazione C # per farlo, è molto semplice nella versione corrente di .NET Framework.

Cerca System.ServiceModel.Syndication spazio dei nomi. Che ha classi relative ai feed RSS e Atom. Di recente ho scritto del codice che genera un feed da un database utilizzando queste classi e aggiunge geocodici agli elementi del feed. Ho avuto lo stesso problema in cui avevo bisogno di invertire l'ordine degli elementi nel feed, perché la mia query del database li ha restituiti nell'ordine opposto che volevo che i miei utenti vedessero.

Quello che ho fatto è stato semplicemente tenere l'elenco di SyndicationItem oggetti per il feed nella mia struttura di dati List<SyndicationItem> fino a quando non voglio scrivere il feed su disco. Quindi farei una cosa del genere:

private SyndicationFeed m_feed;
private List<SyndicationItem> m_items;

...snip...

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

Altri suggerimenti

In Google Reader, quando leggi un feed, c'è un " Impostazioni feed ... " menu con le opzioni: " Ordina per ultimo " ;, " Ordina per meno vecchio! " ;.

Le cartelle hanno le stesse opzioni nel menu " Impostazioni cartella ... "

Nessuna programmazione richiesta.

Penso che potresti avere problemi con questo. Molti feed RSS mantengono solo gli ultimi 10 post circa, quindi non ci sarebbe modo di fornire i dati più vecchi dal feed dall'inizio del blog.

In Google Reader, puoi far visualizzare gli elementi in una cartella (feed) dal più recente al più vecchio o dal più vecchio al più recente. Per fare ciò, selezionare il feed, selezionare & Quot; Feed settings & Quot; scorrere verso il basso e selezionare " Ordina per " più vecchio ;. Non sono sicuro di quanto lontano vada Google Reader, ma probabilmente da quando ha iniziato a monitorare il feed.

Questo dovrebbe essere abbastanza facile con qualsiasi lingua ... tutto ciò che dovresti fare è leggere il feed xml in una struttura DOM (quasi tutte le lingue tra cui C # hanno una classe DomDocument)

Dovresti quindi essere in grado di scorrere semplicemente i nodi degli oggetti in ordine inverso ...

vedi: http://msdn.microsoft. com / it-it / library / ms756177 (VS.85) aspx

Come altri hanno detto, a seconda del feed rss, potresti ottenere solo una quantità finita di articoli.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top