T-SQL:使用可变元素导入xml

时间:2013-09-11 14:28:21

标签: sql sql-server xml variables sqlxml

Hello Ladies and Gents,

我有一个xml文件,它有这样的结构:

 <Material>
     <MaterialNumber>7654321</MaterialNumber>
     <Carton>
        <IDType>qwer</IDType>
        <EncodingType>asdf</EncodingType
     </Carton>
 </Material>

我想导入materialnumber以及idtype ... 当有两个不同的图层时如何导入?我只想切换@Attribute。非常感谢你!

SET @Attribute = 'Carton/IDType'
SELECT
a.b.value('*[local-name() = sql:variable("@Attribute")][1]','varchar(1000)') AS blub
FROM @myxml.nodes('//Material') a(b)

1 个答案:

答案 0 :(得分:1)

select
    @myxml.value('(Material/MaterialNumber/text())[1]', 'varchar(max)') as MaterialNumber,
    @myxml.value('(Material/Carton/IDType/text())[1]', 'varchar(max)') as IDType

<强> sql fiddle demo