【问题标题】:How to transform XML structure to SQL columns如何将 XML 结构转换为 SQL 列
【发布时间】:2010-01-05 23:36:54
【问题描述】:

我正在使用 SQL Server 2005。

假设我有一个这样的文档:

<Item Type="Menu" Name="File">
    <Item Type="Selectable" Id="Open"/>
    <Item Type="Selectable" Id="Close"/>
    <Item Type="Menu" Name="Export"/>
         <Item Type="Selectable" Id="As JPEG"/>
         ....
    and so on, with N-level of menus

如何将其转换为带有列的 SQL 表:

可选、Level1Menu、Level2Menu、Level3Menu

其中 Open 和 Close 会将 File 设置为 level1Menu 并且所有 Menu 列都为 NULL, 但由于 JPEG 的文件和导出为 level1Menu 和 level2Menu,否则为 NULL。

谢谢。

【问题讨论】:

  • 我会认真考虑将您的表结构作为多列定义进行审查,因为您暗示这将是一场噩梦。正如 Rubens Faria 的回答中的链接所指出的,与这样的多列相比,使用分层表(即自引用表)会更好。
  • @Paulo - 感谢您的关注,那么如何将上述 XML 转换为只有两列的自引用表? - 我想我需要使用我的 XML 并执行 Ruben 的答案显示的逆运算。到那时,自我加入表并生成我最初寻找的内容变得微不足道。

标签: sql-server-2005 parsing xml-parsing


【解决方案1】:
猜你喜欢
  • 2015-02-05
  • 2011-04-08
  • 2021-09-06
  • 1970-01-01
  • 2023-02-08
  • 2018-03-28
  • 2012-12-18
  • 2011-01-17
  • 1970-01-01
相关资源
最近更新 更多