字符串未解码

时间:2012-02-20 23:00:32

标签: c# asp.net xtrareport

我有一份DecXpress报告,数据源显示数据来源的字段

PRODUCT - APPLE<BR/>ITEM NUMBER - 23454</BR>LOT NUMBER 3343 <BR/>

现在它是如何在单元格中显示的,所以我决定解码,但没有任何工作,我尝试了HttpUtility.HtmlDecode,在这里我正在尝试WebUtility.HtmlDecode。

   private void xrTableCell9_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
{
    XRTableCell cell = sender as XRTableCell;
    string _description = WebUtility.HtmlDecode(Convert.ToString(GetCurrentColumnValue("Description")));
    cell.Text = _description;

}

如何解码数据源中此列的值?

谢谢

1 个答案:

答案 0 :(得分:1)

如果您还需要使用< />显示说明,则需要使用 HtmlEncode


如果您需要从该html中提取文本

public static string ExtractTextFromHtml(this string text)
        {
            if (String.IsNullOrEmpty(text))
                return text;
            var sb = new StringBuilder();
            var doc = new HtmlDocument();
            doc.LoadHtml(text);
            foreach (HtmlNode node in doc.DocumentNode.SelectNodes("//text()"))
            {
                if (!String.IsNullOrWhiteSpace(node.InnerText))
                    sb.Append(HtmlEntity.DeEntitize(node.InnerText.Trim()) + " ");
            }
            return sb.ToString();
        }

您需要HtmlAgilityPack


删除br标签:

var str = Convert.ToString(GetCurrentColumnValue("Description"));
Regex.Replace(str,  @"</?\s?br\s?/?>", System.Environment.NewLine, RegexOptions.IgnoreCase);