Строка не декодируется
У меня есть отчет 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 ответ
Решение
Если вам нужно показать описание с < />
Кроме того, вам нужно использовать 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);