Clique no banner para conhecer e adquirir o meu treinamento de Bancos de Dados no Azure

SQL Server – Como converter uma string HTML para texto (Remover tags HTML) utilizando o CLR (C#)

Post Views 8,160 views
Reading time 2 minutes

Fala galera!
Tudo bem com vocês? Espero que sim, hein!

Neste post, vou demonstrar pra vocês como converter uma string HTML para texto (Remover tags HTML) utilizando o CLR (C#). Se você é novo aqui no blog ou nunca ouviu falar de CLR ou não sabe como criar seu primeiro projeto utilizando esta poderosa ferramenta do SQL Server, que permite criar códigos em C# ou VB.NET e executá-los pelo banco de dados, dê uma lista no post Introdução ao SQL CLR (Common Language Runtime) no SQL Server.

Em 2014, eu fiz o post Removendo tags HTML de uma string no SQL Server e por isso, você deve estar se perguntando: “Dirceu, se você já fez um post sobre isso, porquê fazer outro igual utilizando o CLR?” e a resposta para isso é muito simples: Código muito mais simples e PERFORMANCE! Como já expliquei no post SQL Server – Comparação de performance entre Scalar Function e CLR Scalar Function, funções CLR geralmente entregam uma performance MUITO superior a funções UDF T-SQL, chegando a ser até 200 vezes mais rápido.

Código-utilizado para a criação dos registros:

Para demonstrar a diferença de performance das duas funções, populei uma tabela com apenas 6.000 registros, todos com a mesma string contendo um código HTML básico. E quanto maior o volume de dados, maior será a diferença de performance entre as funções CLR e UDF T-SQL. O resultado vocês podem conferir abaixo:

Comparação da função CLR com a função T-SQL: 173x mais rápida

Código-fonte da função:

Para remover as tags HTML, utilizo o método HtmlDecode da classe WebUtility, que pertence à biblioteca System.Net. Esse método está disponível apenas a partir do .NET Framework 4.0 e por isso, só é possível utilizá-lo no SQL Server 2012 ou superiores (as versões 2005 e 2008 do SQL Server utilizam o .NET Framework 3.5)

O parâmetro Fl_Quebra_Linha serve para substituir a tag <br> (e suas variantes) por uma quebra de linha no texto. Caso você informe o valor 0 (false) nesse parâmetro, as quebras de linha serão substituídas por uma string vazia.

And that's it, folks!
Espero que tenham gostado do post e até o próximo.

sql server converter convert string text html remover remove tags html para texto plain text

sql server converter convert string text html remover remove tags html para texto plain text