T-SQL到XML - 可以为每个属性多个值对自己的行上市?(T-SQL to XML - Can

2019-09-03 03:59发布

我目前使用T-SQL的一些数据转换成XML。 我需要列出自己线上的属性值。 出于某种原因,T-SQL,以XML保持在同一直线上串联的值加在一起。

示例代码:

SELECT
    'Fruits' AS [Attribute/@name],
    'Apple' AS [Attribute/Value],
    'Orange' AS [Attribute/Value],
    'Grape' AS [Attribute/Value]
FOR XML PATH (''), ROOT('CustomProduce'), TYPE

样品结果:

<CustomProduce>
  <Attribute name="Fruits">
    <Value>AppleOrangeGrape</Value>
  </Attribute>
</CustomProduce>

期望的结果:

<CustomProduce>
  <Attribute name="Fruits">
    <Value>Apple</Value>
    <Value>Orange</Value>
    <Value>Grape</Value>
  </Attribute>
</CustomProduce>

任何帮助将不胜感激,非常感谢!

Answer 1:

一(相当荒谬)方式情况下,没有人知道一个更好的解决方案:

SELECT
    'Fruits' AS [Attribute/@name],
    '' AS [Attribute],
    'Apple' AS [Attribute/Value],
    '' AS [Attribute],
    'Orange' AS [Attribute/Value],
    '' AS [Attribute],
    'Grape' AS [Attribute/Value]
FOR XML PATH (''), ROOT('CustomProduce'), TYPE


文章来源: T-SQL to XML - Can multiple values per attribute be listed on their own line?
标签: sql xml tsql