2008-08-29 14 views
9

my SSRS DataSet devuelve un campo con HTML, p. Ej.Strip HTML from string en SSRS 2005 (VB.NET)

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

¿cómo me tira todas las etiquetas HTML? tiene que hacerse con en línea VB.NET

Cambiar los datos en la tabla no es una opción.

solución encontrada ... = System.Text.RegularExpressions.Regex.Replace (StringWithHTMLtoStrip, "< [^>] +>", "")

Respuesta

1

Si sabe que el HTML está lo suficientemente formado, podría, si se asegura de que tenga un nodo raíz, convertir los datos en ese campo en un System.Xml.XmlDocument y luego obtener el valor de InnerText de él.

De nuevo, tendrá que asegurarse de que el texto tenga un nodo raíz, que puede agregar usted mismo si es necesario, ya que no tendrá importancia, y asegúrese de que el HTML esté bien formado.

0

me gustaría ir a Propiedades del informe y después de código y añadir el siguiente

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 

continuación, puede utilizar Code.RemoveHtml(Fields!Content.Value) para eliminar las etiquetas HTML.

En mi opinión, esto es preferible a tener múltiples copias de la expresión regular.

Cuestiones relacionadas