从字符串中删除HTML

时间:2012-04-01 19:51:38

标签: c# windows-phone-7

我正在尝试清除RSS源中的HTML编码。我无法弄清楚如何设置以下内容来取出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);

3 个答案:

答案 0 :(得分:19)

只需使用以下代码:

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

这将清除html只留下文字,所以&#34;你好那里&#34;

所以,你可以复制并使用这个功能:

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

答案 1 :(得分:1)

您可以使用此代码示例,它对我而言很好

public static string RemoveHTMLTags(string value)
    {
        string step1 = Regex.Replace(value, "<[^>]*>", " ");
        string step2 = HttpUtility.HtmlDecode(step1);
        return step2;
    }

我希望这段代码对您有所帮助。

答案 2 :(得分:-2)

使用以下类实用程序:

HttpUtility.HtmlDecode(string);

请不要再提这个答案了。