usa il pacchetto agilità Html per scaricare rss e mostrare gli elementi in un elenco

c# html-agility-pack rss windows-phone xml

Domanda

Uso il pacchetto html agility per il download dalla mia fonte rss, finora posso scaricarlo correttamente e posso accedere a tutti gli elementi con SelectNode ma come posso dire di avere un titolo nel mio rss ed è un nodo nel nodo item , posso leggerlo ma come elencarlo su una lista ?!

io uso questo per scaricare il rss

HtmlWeb.LoadAsync("http://www.wpnovosti.com/feeds/posts/default?alt=rss", DownLoadCompleted);

void DownLoadCompleted(object sender, HtmlDocumentLoadCompleted e)
    {
        if (e.Error == null)
        {
            HtmlDocument doc = e.Document;
            if (doc != null)
            {
                foreach (HtmlNode rsstitle1 in doc.DocumentNode.SelectNodes("//title")) 
                {
                    var title = doc.DocumentNode.SelectNodes("//title");

                    if (rsstitle1 != null)
                    {
                            string titleText = rsstitle1.InnerText;
                            rsstitle.Text = titleText;
                            //MessageBox.Show(titleText);
                    }
                }
            }
        }
    }

questo "rsstitle" è un elemento nella mainpage un textBlock all'interno di un listbox "listBox1", vedo il titolo strigText nel blocco di testo ma vedo solo l'ultimo elemento, sembra che cerchi fino all'ultimo titolo in l'elenco degli articoli rss scaricati. quindi la mia domanda è come posso fare una lista di tutti i titoli. l'xml del rss ha questo aspetto:

<?xml version='1.0' encoding='UTF-8'?>
<rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'>
  <channel>
    <atom:id>tag:blogger.com,1999:blog-6139395842965860280</atom:id>
    <lastBuildDate>Fri, 11 Oct 2013 13:24:41 +0000</lastBuildDate>
    <category>suma sumarum</category>
    <category>osnove</category>
    <category>glasine</category>
    <category>novosti</category>
    <category>uredaji</category>
    <category>aplikacije</category>
    <title>Windows Phone Novosti</title>
    <description>Prvi Windows Phone blog u Bosni i Hercegovini koji vama donosi sve potrebne informacije za vas omiljeni Windows Phone operativni sistem.</description>
    <link>http://www.wpnovosti.com/</link>
    <managingEditor>noreply@blogger.com (Dino Borogovac)</managingEditor>
    <generator>Blogger</generator>
    <openSearch:totalResults>451</openSearch:totalResults>
    <openSearch:startIndex>1</openSearch:startIndex>
    <openSearch:itemsPerPage>25</openSearch:itemsPerPage>
    <item>
      <guid isPermaLink='false'>tag:blogger.com,1999:blog-6139395842965860280.post-226671981499881807</guid>
      <pubDate>Fri, 11 Oct 2013 13:24:00 +0000</pubDate>
      <atom:updated>2013-10-11T15:24:41.780+02:00</atom:updated>
      <category domain='http://www.blogger.com/atom/ns#'>aplikacije</category>
      <title>Facebook Beta aplikacija sa novom nadogradnjom</title>
      <description>&lt;div align="justify"&gt;&lt;a href="http://lh4.ggpht.com/-kEftfu0aP-M/Ulf7tRs3EMI/AAAAAAAAIlo/bgmYMjOUSAg/s1600-h/IMG_2353%25255B3%25255D.jpg"&gt;&lt;img alt="IMG_2353" border="0" height="447" src="http://lh6.ggpht.com/-vomeApNFLA0/Ulf7uXzNw3I/AAAAAAAAIlw/sDhV-TsAqM8/IMG_2353_thumb.jpg?imgmax=800" style="background-image: none; border: 0px currentcolor; display: block; float: none; margin: 0px auto;" title="IMG_2353" width="670" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;Facebook Beta aplikacija dobila novu nadogradnju, ovo je jedna od rijetkih aplikacija koja se redovno aktualizira sa popravkama, novostima i novim funkcijama. Facebook Beta je aplikacija koja sluzi Microsoft-u za testiranje novih funkcija prije nego sto one izadu u oficijelnu aplikaciju �Facebook�.&lt;/div&gt;&lt;div align="justify"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div align="justify"&gt;U novoj verziji, koja je za WP7 kao i za WP8 Microsoft-ovi razvijaci su napisali da su dodali jos par jezika (prevoda) u aplikaciju i popravili generalno brzinu aplikacije.&lt;/div&gt;&lt;a href="http://windowsphone.com/s?appid=93da5d29-daf0-4783-9ed5-a87b33247ec6"&gt;&lt;br /&gt;&lt;table class="app-download" summary="Skinite aplikaciju iz ovog clanka"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;img height="160" src="http://3.bp.blogspot.com/-eCEJytrvw6Y/UlAhObc2mMI/AAAAAAAAIiY/DlnS17mqNwE/s1600/617e6c4c-6b9f-4903-b67d-dcd71062a3e5.png" style="display: inline;" title="Facebook aplikacija" width="160" /&gt;&lt;/td&gt;&lt;td&gt;&lt;span style="font-size: x-large; font-weight: bold;"&gt;Facebook Beta&lt;/span&gt;&lt;br /&gt;od: Microsoft Corp.&lt;br /&gt;Verzija: 5.1.1.1&lt;br /&gt;Cijena: Besplatno&lt;br /&gt;&lt;br /&gt;&lt;img src="http://2.bp.blogspot.com/-wKPKvNDpPww/Uc2-U6TAYFI/AAAAAAAAHow/yNwU7HrY3jg/s241/WPS_Download_Badge+bosanski+finish.png" /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/a&gt;</description>
      <link>http://www.wpnovosti.com/2013/10/facebook-beta-aplikacija-sa-novom.html</link>
      <author>noreply@blogger.com (Dino Borogovac)</author>
      <media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/-vomeApNFLA0/Ulf7uXzNw3I/AAAAAAAAIlw/sDhV-TsAqM8/s72-c/IMG_2353_thumb.jpg?imgmax=800' height='72' width='72'/>
      <thr:total>0</thr:total>
    </item>

Ci sono altri 25 elementi con lo stesso titolo, descrizione, pubblicazione e collegamento. vorrei avere:

Prima tutti i titoli in una lista nella pagina principale.

In secondo luogo tutti i link si legano ai titoli, quindi se gli utenti lo toccano in modo che vada alla mia altra pagina in cui è possibile passare l'URL a un controllo del browser.

Terzo se è possibile fare una breve descrizione sotto il titolo

Quarto mostra il corpo del post che si trova nell'elemento "description" del rss già scaricato, e lascia gli elementi come se fossero sul rss perché ci sono elementi come immagini e tabelle e così via di cui ho bisogno.

Risposta popolare

Piuttosto che usare Agility Pack (che puoi usare con certezza), è una buona idea usare le classi fornite da .NET che possono aiutarti a analizzare e manipolare i feed RSS. Credo che tu voglia costruire un tipo di applicazione RSS reader. Ci sono molti esempi che i seguenti link dovrebbero aiutarti:

http://code.msdn.microsoft.com/wpapps/RSS-Reader-in-Windows-afa86457 http://mobile.dzone.com/articles/build-rss-reader-windows-phone

Spero che questo ti aiuti.

Facci sapere se questo risolve il tuo problema.



Related

Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché