2011-01-10 112 views
0

现在我有一个列表框,显示RSS文章标题/一个RSS feed的网址。标题和URL提取没有问题,但是现在我试图在列表框中选择文章标题时在富文本框中显示说明。我可以成功地将描述显示在文本框中,但它总是跟着一堆额外的html。例如:C# - 的XmlNodeList - 获取描述标签之间的内部XML /文本而不HTML

There's a silly rumor exploding on the Internet this weekend, alleging that Facebook is shutting down on March 15 because CEO Mark Zuckerberg "wants his old life back," and desires to "put an end to all the madness."<div class="feedflare"> 
<a href="http://rss.cnn.com/~ff/rss/cnn_topstories?a=at7OdUE16Y0:jsXll_RkIzI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rss/cnn_topstories?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://rss.cnn.com/~ff/rss/cnn_topstories?a=at7OdUE16Y0:jsXll_RkIzI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/rss/cnn_topstories?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://rss.cnn.com/~ff/rss/cnn_topstories?a=at7OdUE16Y0:jsXll_RkIzI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/rss/cnn_topstories?i=at7OdUE16Y0:jsXll_RkIzI:V_sGLiPBpWU" border="0"></img></a> <a href="http://rss.cnn.com/~ff/rss/cnn_topstories?a=at7OdUE16Y0:jsXll_RkIzI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/rss/cnn_topstories?d=qj6IDK7rITs" border="0"></img></a> <a href="http://rss.cnn.com/~ff/rss/cnn_topstories?a=at7OdUE16Y0:jsXll_RkIzI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/rss/cnn_topstories?i=at7OdUE16Y0:jsXll_RkIzI:gIN9vFwOqvQ" border="0"></img></a> 

代码:

private void button1_Click(object sender, EventArgs e) 
{ 

    { 

     XmlTextReader rssReader = new XmlTextReader(txtUrl.Text); 
     XmlDocument rssDoc = new XmlDocument(); 
     rssDoc.Load(rssReader); 
     XmlNodeList titleList = rssDoc.GetElementsByTagName("title"); 
     XmlNodeList urlList = rssDoc.GetElementsByTagName("link"); 
     descList = rssDoc.GetElementsByTagName("description"); 


     for (int i = 0; i < titleList.Count; i++) 
     { 
      lvi = rowNews.Items.Add(titleList[i].InnerXml); 
      lvi.SubItems.Add(urlList[i].InnerXml); 
     } 

    } 

} 

private void rowNews_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    if (rowNews.SelectedIndices.Count <= 0) 
    { 
     return; 
    } 
    int intselectedindex = rowNews.SelectedIndices[0]; // Get index of article title 

    txtDesc.Text=(descList[intselectedindex].InnerText); 
    // Get description array index that matched list index 

} 

回答

0

可以使用InnerText而不是innerHTML的。这将只会得到您的子节点的内容没有任何标记。

+0

脱衣使用方法HTML是啊,我在那里得到的innerText现在,和innerXml似乎做同样的事情。 – tim 2011-01-10 19:32:24

+0

它不适用于InnerText?也许`description`内的内容是html编码的? – alexn 2011-01-10 19:34:11