我使用 html 敏捷包从我的 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”是主页上的一个元素,一个列表框内的文本块名称“listBox1”,我在文本块中看到了标题文本,但我只看到最后一项,它似乎一直循环到最后一个标题下载的 RSS 项目列表。所以我的问题是如何列出所有标题。来自 rss 的 xml 如下所示:
<?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><div align="justify"><a href="http://lh4.ggpht.com/-kEftfu0aP-M/Ulf7tRs3EMI/AAAAAAAAIlo/bgmYMjOUSAg/s1600-h/IMG_2353%25255B3%25255D.jpg"><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" /></a></div><div align="justify">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�.</div><div align="justify"><br /></div><div align="justify">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.</div><a href="http://windowsphone.com/s?appid=93da5d29-daf0-4783-9ed5-a87b33247ec6"><br /><table class="app-download" summary="Skinite aplikaciju iz ovog clanka"><tbody><tr><td><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" /></td><td><span style="font-size: x-large; font-weight: bold;">Facebook Beta</span><br />od: Microsoft Corp.<br />Verzija: 5.1.1.1<br />Cijena: Besplatno<br /><br /><img src="http://2.bp.blogspot.com/-wKPKvNDpPww/Uc2-U6TAYFI/AAAAAAAAHow/yNwU7HrY3jg/s241/WPS_Download_Badge+bosanski+finish.png" /></td></tr></tbody></table></a></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>
还有另外 25 个与内部相同的元素,如标题、描述、发布日期和链接。我想拥有:
首先是主页中一个列表中的所有标题。
其次,所有链接都绑定到标题,所以如果用户点击它,它就会转到我的另一个页面,在那里可以将 url 传递给 webbrowser 控件。
第三,如果可以在标题下做一个简短的描述
第四显示已经下载的 rss 的“description”元素中的帖子正文,并让这些元素像它们在 rss 上一样,因为我需要图片和表格等元素。