2008-08-29 49 views
9

SSRS的DataSet返回场HTML,例如地带HTML从字符串中SSRS 2005(VB.NET)

<b>blah blah </b><i> blah </i>. 

我该如何去掉所有的HTML标签?必须使用内嵌 VB.NET

更改表中的数据不是一个选项。

解发现 ... = System.Text.RegularExpressions.Regex.Replace(StringWithHTMLtoStrip, “< [^>] +>”, “”)

回答

1

如果您知道HTML格式不够完整,您可以确保它具有根节点,然后将该字段中的数据转换为System.Xml.XmlDocument,然后从中获取InnerText值。

同样,你将不得不确保文本具有一个根节点,您可以自己添加如果需要的话,因为它没有关系,并确保HTML结构良好。

0

我会去报告属性,然后代码并添加以下

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标签。

在我看来,这是最好的,然后有正则表达式的多个副本。