0

我有一个 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)
4

1 回答 1

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

于 2013-10-03T20:41:29.513 回答