Sql server 从XML中选择元素
鉴于以下情况:Sql server 从XML中选择元素,sql-server,xml,sql-server-2008,xpath,Sql Server,Xml,Sql Server 2008,Xpath,鉴于以下情况: declare @samplexml as xml set @samplexml = '<root><someelement><another /><somethingElse>test</somethingElse></someelement></root>' select @samplexml.value('/root[1]','nvarchar(max)') 但是我得到了错误VALU
declare @samplexml as xml
set @samplexml = '<root><someelement><another /><somethingElse>test</somethingElse></someelement></root>'
select
@samplexml.value('/root[1]','nvarchar(max)')
但是我得到了错误VALUE方法中使用的数据类型“XML”无效。
只需使用.query()
方法,而不是.VALUE()
:
或
这将返回与给定XPath表达式匹配的元素(及其内容),并以
XML
type的形式返回。是否尝试获取作为输入的完整XML?
select
@samplexml.value('/root[1]','XML')
SELECT @samplexml.query('/root[1]')
SELECT @samplexml.query('.')