5

HTMLコンテンツブロックをSQLサーバーデータベースに書き込むcmsシステムがあります。これらの html コンテンツ ブロックが存在するテーブル名とフィールド名を知っています。一部の html には、pdf ファイルへのリンク () が含まれています。ここにフラグメントがあります:

<p>A deferred tuition payment plan, 
or view the <a href="/uploadedFiles/Tuition-Reimbursement-Deferred.pdf"
target="_blank">list</a>.</p>

そのようなすべての html コンテンツ ブロックから pdf ファイル名を抽出する必要があります。最後に、リストを取得する必要があります。

Tuition-Reimbursement-Deferred.pdf
Some-other-file.pdf

そのフィールドのすべての pdf ファイル名。

どんな助けでも大歓迎です。ありがとう。

アップデート

多くの返信をいただきました。ありがとうございます。ここでまだ SQL Server 2000 を使用していることを忘れていました。そのため、これは SQL 2000 SQL を使用して行う必要がありました。

4

4 に答える 4

1

これを試してみてください -

DECLARE @XML XML = 
'<p>A deferred tuition payment plan, 
or view the <a href="/uploadedFiles/Tuition-Reimbursement-Deferred.pdf"
target="_blank">list</a>.</p>'

SELECT 
      ref_text = t.p.value('./a[1]', 'NVARCHAR(50)')
    , ref_filename = REVERSE(
                        LEFT(REVERSE(t.p.value('./a[1]/@href', 'NVARCHAR(50)')), 
                        CHARINDEX('/',REVERSE(t.p.value('./a[1]/@href', 'NVARCHAR(50)')), 1) - 1))
FROM @XML.nodes('/p') t(p)
于 2013-04-26T05:25:23.387 に答える