2011-01-10 10 views
0

今、私はRSS記事のタイトル/ URLを表示するリストボックスを持っています。タイトルとURLの抽出に問題はありませんでしたが、記事タイトルがリストボックスで選択されると、リッチテキストボックスにその説明が表示されるようにしようとしています。私は正常にテキストボックスに表示される説明を取得することができますが、それは常に余分なHTMLの束が続きます。例:C# - XmlNodeList - HTMLなしでdescriptionタグの間にxml/textを取得する

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 

} 

答えて

2

あなたはええ、私は今、そこにInnerTextプロパティを持っている、とInnerXmlプロパティは、まったく同じことをやっているようだUsing C# regular expressions to remove HTML tags

+0

チャームのように働いて、これについて考えることさえしなかった。ありがとう! – tim

0

あなたが代わりにinnerHTMLプロパティのInnerTextを使用することができます。これは、マークアップなしであなたの子ノードの内容だけを取得します。

+0

からのアプローチを使用してHTMLを取り除くことができます。 – tim

+0

InnerTextでは動作しませんか?たぶん 'description'の内容はhtmlでエンコードされていますか? – alexn

関連する問題