小编Dan*_*eld的帖子

sql 中 openxml 的动态列和记录

我有一个非常简单的 xml 文档。唯一的区别是元素可以改变。有一次我可能会:

<data><PersonalInfo>
<Person><FirstName>Bob</FirstName><LastName>Smith</LastName></Person>
<Person><FirstName>John</FirstName><LastName>Doe</LastName></Person>
</PersonalInfo></data>
Run Code Online (Sandbox Code Playgroud)

下次我可能会:

<data><AddressInfo>
<Address><City>Cleveland</City><State>OH</State></Address>
<Address><City>Chicago</City><State>IL</State></Address>
</AddressInfo></data>
Run Code Online (Sandbox Code Playgroud)

我想编写一个 select 语句,根据我目前拥有的 xml 文档生成一个动态表。

例如:对于第一个:

First Name     Last Name
------------------------
Bob             Smith
John            Doe
Etc...
Run Code Online (Sandbox Code Playgroud)

对于第二个

City       State
-----------------------
Cleveland   OH
Chicago     IL
Etc...
Run Code Online (Sandbox Code Playgroud)

这两个例子没有任何关系(鲍勃不是来自克利夫兰,等等......)

我只想使用相同的代码来生成两个表...取决于 xml 文档。当然,唯一的区别是节点引用:

Example 1:  data/PersonalInfo/Person*
Example 2:  data/AddressInfo/Address*
Run Code Online (Sandbox Code Playgroud)

我不想组合或更改 xml 文档结构中的任何内容。它们就是它们所进来的。我如何引用每一个来创建上面的两个不同的表 - 每个进来的 xml 文档都将在一个单独的运行存储过程中。但它将是相同的存储过程。非常感谢任何帮助,提前致谢!

xml sql-server sql-server-openxml

2
推荐指数
1
解决办法
2848
查看次数

标签 统计

sql-server ×1

sql-server-openxml ×1

xml ×1