将我的 mssql 查询变成结构化的 xml 结果集

Posted

技术标签:

【中文标题】将我的 mssql 查询变成结构化的 xml 结果集【英文标题】:Turn my mssql query into a structured xml result set 【发布时间】:2020-04-17 13:46:43 【问题描述】:

现在我有一个简单的查询,可以将我的 sql 结果转换为 XML,但是它并没有按照我想要的方式进行。这是我的查询

 select top 4 id,email from [user] where len(email) > 5

 for xml raw, ROOT('MyRoot')

这是下面的结果

<MyRoot>
<row id="7" email="test1@gmail.com" />
<row id="8" email="test2@gmail.com" />
<row id="9" email="test3@gmail.com" />
<row id="10" email="test4@gmail.com" />
</MyRoot>

我想把那个结果集改成这个

   <MyRoot>
   <row> <id>7</id> <email>test1@gmail.com</email> </row>
   <row  <id>8</id> <email>test2@gmail.com</email> </row>
   <row  <id>9</id> <email>test3@gmail.com</email> </row>
   <row <id>10</id> <email>test4@gmail.com</email> </row>
   </MyRoot>

任何帮助将不胜感激。由于我是新手,所以我已经浏览过这里并找不到任何东西。

【问题讨论】:

【参考方案1】:
select top 4 id,email from [user] where len(email) > 5
for xml raw, elements, ROOT('MyRoot') --columns as elements instead of attributes(default)

【讨论】:

可能值得注意的是,推荐的方法是使用PATH 模式。这提供了对最终 XML 结构的最大控制。

以上是关于将我的 mssql 查询变成结构化的 xml 结果集的主要内容,如果未能解决你的问题,请参考以下文章

无法正确查询(MSSQL - PHP - JSON)

通过 pymssql 将 int 变量与 MSSQL 查询结果 Python 进行比较

我正在尝试将我的电子应用程序变成 Windows 便携版

如何将我的 pymysql 查询结果转换为 json 格式?

PHP/MSSQL:查询结果到表

MSSQL - 使用 IN 连接查询的结果