2012-04-01 7 views
5

से एचटीएमएल निकालें मैं अपने आरएसएस फ़ीड से एचटीएमएल कोडिंग को साफ़ करने की कोशिश कर रहा हूं। मैं एचटीएमएल एन्कोडिंग करने के लिए नीचे सेट करने के लिए कैसे काम नहीं कर सकता।स्ट्रिंग

var withHtml = "<p>hello <b>there</b></p>"; 
var withoutHtml = Regex.Replace(withHtml, "<.+?>", string.Empty); 

यह और html केवल पाठ छोड़ने साफ होगा, इसलिए "हैलो वहाँ"

तो, आप बस कॉपी कर सकते हैं इस सुविधा का उपयोग:

var rssFeed = XElement.Parse(e.Result); 

var currentFeed = this.DataContext as app.ViewModels.FeedViewModel; 
var items = from item in rssFeed.Descendants("item")        
      select new ATP_Tennis_App.ViewModels.FeedItemViewModel() 
      { 

       Title = item.Element("title").Value, 
       DatePublished = DateTime.Parse(item.Element("pubDate").Value), 
       Url = item.Element("link").Value, 
       Description = item.Element("description").Value 
      }; 

foreach (var item in items) 
    currentFeed.Items.Add(item); 
+2

क्या आपने 'HtmlAgilityPack' lib का उपयोग करने का प्रयास किया है? http://htmlagilitypack.codeplex.com/discussions/225113 – Jack

+0

देखें क्या OuterText या OuterHtml की आपको आवश्यकता है? –

उत्तर

17

बस निम्नलिखित कोड का उपयोग करें:

string RemoveHtmlTags(string html) { 
    return Regex.Replace(html, "<.+?>", string.Empty); 
} 

आपका कोड कुछ इस तरह दिखेगा:

var rssFeed = XElement.Parse(e.Result); 
var currentFeed = this.DataContext as app.ViewModels.FeedViewModel; 
var items = from item in rssFeed.Descendants("item")        
      select new ATP_Tennis_App.ViewModels.FeedItemViewModel() 
      { 

       Title = RemoveHtmlTags(item.Element("title").Value), 
       DatePublished = DateTime.Parse(item.Element("pubDate").Value), 
       Url = item.Element("link").Value, 
       Description = RemoveHtml(item.Element("description").Value) 
      }; 
+0

क्या आप मुझे बता सकते हैं कि मैं इसे ऊपर दिए गए कोड में कहां रख सकता हूं? –

+0

मैंने आपके मूल कोड –

+0

का उपयोग कर कोड नमूना के साथ अपना जवाब अपडेट कर दिया है। यह एचटीएमएल इकाइयों को '" 'और व्हाट्नॉट जैसे नहीं हटाएगा। –

-3

निम्नलिखित वर्ग उपयोगिता का उपयोग करें:

HttpUtility.HtmlDecode(string); 

कृपया इस सवाल का जवाब कोई और अधिक उल्लेख नहीं है।

+0

उपर्युक्त कोड के संबंध में यह कहां और कैसे उपयोग किया जाता है? –

+0

@MichaelPeberdy: मान लीजिए विवरण में एचटीएमएनएल टैग हैं, तो आप HTML टैग HttpUtility.HtmlDecode (विवरण) को हटाने के लिए निम्न कोड का उपयोग कर सकते हैं; – Mahantesh

+0

एचटीएमएनएल का मतलब कुछ भी नहीं है, और 'HttpUtility.HTMLDecode (स्ट्रिंग)' उद्देश्य HtmlEntities को वापस वर्णों में परिवर्तित करना है। आप प्रतिनिधि अंक चाहते थे? –

संबंधित मुद्दे