この方法では、通常のテキストから<content>
の要素を作成するためにHTMLを微調整し、XMLとして結果をキャストします。これはCROSS APPLY
部分で行われます。
2番目の手順では、XQueryを使用して<content>
要素内のテキストを照会します(したがって、<span>
要素を取り除きます)。
DECLARE @tt TABLE(t NVARCHAR(MAX));
INSERT INTO @tt(t)VALUES(N'outer text <span class="cssname">inner text to be removed along with tags</span> further text');
SELECT
stripped=CAST(x.query('for $i in (/content) return $i/text()') AS NVARCHAR(MAX))
FROM
@tt
CROSS APPLY (
SELECT
x=CAST('<content>'+REPLACE(REPLACE(t,'<span','</content><span'),'/span>','/span><content>')+'</content>' AS XML)
) AS f
結果:
outer text further text
私は誰かが、コード4私を書きたいです。 – SteveFest
これは、検索後に挿入する前に、HTML Parserを使用してDBの外で行う方がよいでしょう。 –
ご返信ありがとうございます。しかし、私はSQLのDBレベルではなく、コードパーサでhtmlパーサを使用してこれを行うことを望みます。誰もがこのためのSQLクエリを助けることができます。 –