gpt4 book ai didi

postgresql - 来自 Postgres 数据的完整 XML 文档

转载 作者:行者123 更新时间:2023-11-29 12:44:44 25 4
gpt4 key购买 nike

Postgres 9.4

我正在使用 Postgres XML 函数输出一个嵌套的 xml 结构,我知道如何在行级别创建我想要的结构:

select xmlelement(
name row,
xmlforest(
message_id,
time_stamp,
xmlforest(message_id, clordid, securityid) as block,
clordid,
symbol))
from flat_messages limit 2

给出这个输出:

<row>
<message_id>1</message_id>
<time_stamp>2015-04-23T14:57:40+01:00</time_stamp>
<block>
<message_id>1</message_id>
<clordid>SV9869385</clordid>
<securityid>GB0008762899</securityid>
</block>
<clordid>SV9869385</clordid>
<symbol>BG.</symbol>
</row>
<row>...

</row>

但是,我需要将所有结果输出为有效的 XML 文档,并使用包含整个结果集的根元素:

<results>
<row>...</row>
<row>...</row>
</results>

我可以通过在数据输出后添加开始和结束标记来做到这一点,但我确信必须有某种方法可以将开始和结束标记添加到查询中。有人有主意吗?

最佳答案

您可以使用 xmlagg()和另一个 xmlelement() 来实现这个:

select xmlelement(name results, xmlagg(xmlelement(
name row,
xmlforest(
message_id,
time_stamp,
xmlforest(message_id, clordid, securityid) as block,
clordid,
symbol)))
from flat_messages limit 2

关于postgresql - 来自 Postgres 数据的完整 XML 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30322113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com