2017-03-21 7 views
0

SQL Serverからサブタグと同時に名前空間を使用してXMLを生成しようとしています。SQL ServerからXMLにサブタグを作成

<sii:Envelope xmlns:sii="URI"> 
    <sii:ID>08AL</sii:ID> 
    <sii:NAME>GEORGE</sii:NAME> 
    <sii:SURNAME>AURON</sii:SURNAME> 
    <sii:PRICE>1900.35</sii:PRICE> 
</sii:Envelope> 

が、私はFULL_NAMEと呼ばれる別のカテゴリにNAME & SURNAMEを包むしたいとき、私はいくつかの問題を抱えている:私はこれを生成SQL

WITH XMLNAMESPACES ('uri' as sii) 
SELECT TOP 1 ID as 'sii:ID' 
      ,[NAME] as 'sii:NAME' 
      ,[SURNAME] as 'sii:SURNAME' 
      ,[PRICE] as 'sii:PRICE' 
FROM [dbo].[EMPLOYEES] 
FOR XML RAW ('sii:Envelope'), ELEMENTS 

上でこのスクリプトをやった瞬間に 、次のように:

<sii:Envelope xmlns:sii="URI"> 
    <sii:ID>08AL</sii:ID> 
    <sii:FULL_NAME> 
    <sii:NAME>GEORGE</sii:NAME> 
    <sii:SURNAME>AURON</sii:SURNAME> 
    </sii:FULL_NAME> 
    <sii:PRICE>1900.35</sii:PRICE> 
</sii:Envelope> 

答えて

0

RAWを使用する必要はありませんが、PATHあなたが行くているときXMLを生成する。上記に提供されたコードの解決策は次のとおりです。

WITH XMLNAMESPACES ('uri' as sii) 
SELECT TOP 1 ID as 'sii:ID' 
      ,[NAME] as 'sii:FULL_NAME/sii:NAME' 
      ,[SURNAME] as 'sii:FULL_NAME/sii:SURNAME' 
      ,[PRICE] as 'sii:PRICE' 
FROM [dbo].[EMPLOYEES] 
FOR XML PATH('sii:Envelope'), ELEMENTS 
関連する問題