首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Server中构造此XML?

如何在Server中构造此XML?
EN

Stack Overflow用户
提问于 2018-04-20 19:40:57
回答 1查看 33关注 0票数 0

我使用以下SQL创建了一些临时表,然后使用这些临时表生成了一个XML。我能够生成一个XML,但是我不能按照我想要的方式构造这个东西。

我想打开IndirectSalesMessage标签,然后打开Header标签,然后关闭<Header>标签,然后打开DIST标签,然后关闭DIST标签,最后关闭IndirectSalesMessage标签。

下面是我现在在SQL中使用的代码以及它所做的工作。生成的XML位于“我生成的XML”下面。我实际上想要生成的XML低于“我想要生成的XML”。

代码语言:javascript
复制
-- Creation of #XML HEADER  
SELECT DISTINCT 
    [targetapplication], 
    [originatingapplication], 
    [interfacename], 
    '7320177' E1_num 
INTO
    #xml_header 
FROM   
    [CP].[dbo].[xmlforload] 

-- Creation of #DIST2 
SELECT 
    distributor_e1number, 
    debit_memo_number 
INTO
    #dist2 
FROM   
    #xml_dist 
WHERE  
    distributor_e1number = '7320177' 
    AND debit_memo_number = 'June20177320177' 

-- Creation of #XML
SELECT
    Header.[targetapplication], 
    Header.[interfacename], 
    Header.[originatingapplication], 
    DIST.distributor_e1number, 
    DIST.debit_memo_number 
FROM
    #xml_header Header 
INNER JOIN 
    #dist2 DIST ON header.e1_num = dist.distributor_e1number 
FOR XML PATH('Header'), ROOT('IndirectSalesMessage'), ELEMENTS

当前生成的XML

代码语言:javascript
复制
<IndirectSalesMessage>
   <Header>
      <TargetApplication>EnterpriseOne 9.1</TargetApplication>
      <InterfaceName>CA_Tracing</InterfaceName>
      <OriginatingApplication>Alliance-Model N</OriginatingApplication>
      <distributor_e1number>7320177</distributor_e1number>
      <debit_memo_number>June20177320177</debit_memo_number>
   </Header>
</IndirectSalesMessage>

想要生成的XML

代码语言:javascript
复制
<IndirectSalesMessage>
   <Header>
      <TargetApplication>EnterpriseOne 9.1</TargetApplication>
      <InterfaceName>CA_Tracing</InterfaceName>
      <OriginatingApplication>Alliance-Model N</OriginatingApplication>
   </Header>
   <DIST>
      <distributor_e1number>7320177</distributor_e1number>
      <debit_memo_number>June20177320177</debit_memo_number>
   </DIST>
</IndirectSalesMessage>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-20 21:55:50

创建XML

代码语言:javascript
复制
SELECT 
Header.targetapplicatioAS 'Header/Targetapplication', 
Header.interfacename AS 'Header/Interfacename', 
Header.originatingapplication AS 'Header/Originatingapplication',
DIST.distributor_e1number AS 'DIST/distributor_e1number',
DIST.debit_memo_number AS 'DIST/debit_memo_number'
FROM #xml_header Header 
INNER JOIN #dist2 DIST ON 
header.e1_num = dist.distributor_e1number 
FOR XML PATH('IndirectSalesMessage')
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49948694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档