假设我有以下 XML:
<root><test1>Hello</test1><test2>World</test2></root>
在我的存储过程中,我声明了一个像这样的变量:
DECLARE @Stuff nvarchar(50)
如果 XML 被传递到存储过程中
@MyXml
解析传入的 XML 以获取 element 中保存的值的语句是什么test1
?
我正在使用 SQL Server 2008
假设我有以下 XML:
<root><test1>Hello</test1><test2>World</test2></root>
在我的存储过程中,我声明了一个像这样的变量:
DECLARE @Stuff nvarchar(50)
如果 XML 被传递到存储过程中
@MyXml
解析传入的 XML 以获取 element 中保存的值的语句是什么test1
?
我正在使用 SQL Server 2008
您必须使用xml 类型而不是 nvarchar 类型,但是转换很容易。然后你可以这样查询:
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 页面。