使用Html敏捷包下載rss並在列表中顯示元素

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

我使用html agility pack從我的rss源代碼下載,到目前為止我可以正確下載它,我可以使用SelectNode訪問所有元素,但我怎麼能說我在我的rss中有一個標題,它是項目節點中的一個節點,我可以讀它但如何在列錶框中列出它?!

我用這個來下載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);
                    }
                }
            }
        }
    }

這個“rsstitle”是主頁上的一個元素,一個列錶框中的textBlock命名為“listBox1”,我看到文本塊中的strig titleText,但是我只看到最後一個項目,它似乎一直圈到最後一個標題下載的rss項目列表。所以我的問題是如何列出所有標題。來自rss的xml看起來像這樣:

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);
                    }
                }
            }
        }
    }

還有另外25個元素在同一個內部,如標題,描述,發布和鏈接。我想擁有:

首先是主頁中一個列表中的所有標題。

其次所有鏈接都綁定到標題,所以如果用戶點擊它,那麼它會轉到我的另一個頁面,在那裡可以將url傳遞給webbrowser控件。

第三,如果可以在標題下做一個簡短的描述

第四個顯示已下載的rss的“description”元素中的post body,並留下類似於rss的元素,因為有像我需要的圖片和表等元素。

熱門答案

使用.NET提供的類可以幫助您解析和操作RSS提要,而不是使用Agility Pack(您可以肯定使用)。我相信,你想構建一個RSS閱讀器類的應用程序。以下鏈接有很多樣本可以幫助您:

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

希望這可以幫助。

如果這可以解決您的問題,請告訴我們。




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因