мой Набор данных SSRS возвращает поле с HTML, например
<b>blah blah </b><i> blah </i>.
как удалить все теги HTML? должно выполняться с в соответствии VB.NET
Изменение данных в таблице не вариант.
Решение найдено ... = System.Text.RegularExpressions.Regex.Replace (StringWithHTMLtoStrip, "] +>", "")





Вот хороший пример использования регулярных выражений: http://www.4guysfromrolla.com/webtech/042501-1.shtml
Если вы знаете, что HTML достаточно хорошо сформирован, вы можете, если вы убедитесь, что у него есть корневой узел, преобразовать данные в этом поле в System.Xml.XmlDocument, а затем получить из него значение InnerText.
Опять же, вам нужно будет убедиться, что у текста есть корневой узел, который вы можете добавить самостоятельно, если это необходимо, поскольку это не имеет значения, и убедитесь, что HTML правильно сформирован.
Спасибо Даниэлю, но мне нужно, чтобы это было встроено ... вот решение:
= System.Text.RegularExpressions.Regex.Replace(StringWithHTMLtoStrip, "<[^>]+>","")
Вот ссылки:
http://weblogs.asp.net/rosherove/archive/2003/05/13/6963.aspx
http://msdn.microsoft.com/en-us/library/ms157328.aspx
Если вы не хотите использовать регулярные выражения (например, если вам нужна более высокая производительность), вы можете попробовать небольшой метод, который я написал некоторое время назад, размещенный на CodeProject.
Я бы пошел в Свойства отчета, а затем закодировал и добавил следующее
Dim mRemoveTagRegex AS NEW System.Text.RegularExpressions.Regex("<(.|\n)+?>", System.Text.RegularExpressions.RegexOptions.Compiled)
Function RemoveHtml(ByVal text As string) AS string
If text IsNot Nothing Then
Return mRemoveTagRegex.Replace(text, "")
End If
End Function
Затем вы можете использовать Code.RemoveHtml(Fields!Content.Value) для удаления тегов html.
На мой взгляд, это предпочтительнее, чем наличие нескольких копий регулярного выражения.