【问题标题】:Concatenate string with specific separator at specific position in SQL Server在 SQL Server 中的特定位置用特定分隔符连接字符串
【发布时间】:2017-05-04 20:03:26
【问题描述】:

我想用这个示例数据从表中生成 xml:

position  value
----------------
1.1       a
1.2       b
2.1       c
2.1.2     d
3.1       e
3.1.2     f
3.1.2.1   g

输出应如下所示:

<1>
  <2>b</2>
</1>
<2>c
   <1>
     <2>d</2>
   </1>
</2>
<3>e
   <1>
     <2>f
       <1>g</1> 
    </2>
   </1>
</3>

我不知道这是否可行。简而言之,我想要基于第 n 个节点的多级 XML

【问题讨论】:

  • 输出中的值“a”在哪里?为什么没了?
  • 抱歉,忘记提及值“a”,它看起来像 a b2>1>
  • 你应该在你的问题中正确地写出你想要的预期的整个输出。如有必要,请编辑问题。

标签: sql sql-server xml


【解决方案1】:

xml标签名不能以数字开头:

Read this,区域“XML 命名规则”

XML 元素必须遵循以下命名规则:

  • [...]
  • 元素名称必须以字母或下划线开头
  • [...]

这意味着,在任何情况下,您给定的输出都是无效的 XML!

此外,我认为给定的输出不正确...字母e 真的应该在&lt;3&gt; 之后(与c 相同)吗?您的表格根本不包含任何 顶级 字母...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    相关资源
    最近更新 更多