SQL Generate XML
Hi, 各位大虾:
小弟现在碰到一个SQL生成带有XML格式的问题,大虾有没有解决方案指导一下。谢谢。
小弟使用以下SQL代码生成了一个简单的XML文件,我只需要最开始的命名空间就行,但使用以下语句,在节点“OperationReference”处也会生成带有命名空间的,
如果只生成XML开头的命名空间,
如“<ns0:SyncItemMaster xmlns:ns0="http://www.openapplications.org/oagis/9">”
而下面的节点不生成命名空间,
如:“<ns0:OperationReference xmlns:ns0="http://www.openapplications.org/oagis/9">”
只需要生成<ns0:OperationReference> 就行了
请各位大虾指点。。。。
非常感谢。
declare @xml as xml
DECLARE @tblXMLApplicationAreaTag TABLE (
releaseID VARCHAR(MAX),
systemEnvironmentCode varchar(max),
LogicalID VARCHAR(MAX),
ConfirmationCode varchar(max),
TaskID VARCHAR(MAX),
CreationDateTime varchar(max),
BODID varchar(max)
)
Declare @tblStatus table(
CodeName varchar(max),
CodeValue varchar(max)
)
Insert into @tblStatus(CodeName,CodeValue) Values('Repair Type', 'REP')
Insert into @tblStatus(CodeName,CodeValue) Values('Repair Refurb Code', 'REP')
Declare @tblItem table(
ItemName varchar(max),
ItemValue varchar(max)
)
Insert into @tblItem(ItemName,ItemValue) Values('Country Of Origin', 'CN')
Insert into @tblItem(ItemName,ItemValue) Values('Component Type', '01')
Insert into @tblXMLApplicationAreaTag(releaseID,systemEnvironmentCode,LogicalID,ConfirmationCode,TaskID,CreationDateTime,BODID)
values('1.0','P','941714834','Always','CRP','2014-06-02T13:02:19Z','2b90b4ae-6849-43b3-8d6c-b3e759b15950')
;with xmlnamespaces('http://www.openapplications.org/oagis/9' as "ns0")
select @xml=
(
select
(select
CodeName as "ns0:Code/@Name",
CodeValue as "ns0:Code"
from @tblStatus for xml path('ns0:Status'),type,root('ns0:OperationReference')) as "ns0:DataArea/ns0:ItemMaster/ns0:ItemLocation/ns0:DocumentReference"
from @tblXMLApplicationAreaTag for xml path('ns0:SyncItemMaster')
)
select @xml