0

私が次のXMLを持っていると仮定します。

<root><test1>Hello</test1><test2>World</test2></root>

ストアドプロシージャで、次のような変数を宣言しました。

DECLARE @Stuff nvarchar(50)

XMLが次のようにストアドプロシージャに渡される場合

@MyXml

要素に保持されている値を取得するために着信XMLを解析するステートメントは何でしょうtest1か?

SQLServer2008を使用しています

4

1 に答える 1

2

nvarcharタイプの代わりにxmlタイプを使用する必要がありますが、変換は簡単です。次に、次のようにクエリできます。

DECLARE @Stuff nvarchar(MAX) = '<root><test1>Hello</test1><test2>World</test2></root>'
DECLARE @Xml xml = @Stuff
SELECT @Xml.value('(/root/test1)[1]', 'nvarchar(50)') AS Test1

詳細については、xmlデータ型メソッドのMSDNページを参照してください。

于 2012-06-13T15:02:28.197 に答える