gpt4 book ai didi

sql - 如何使用 T-SQL 格式化 XML

转载 作者:行者123 更新时间:2023-12-04 05:20:16 24 4
gpt4 key购买 nike

我有一个名为 StoreFolder 的表,其中包含一个名为 FolderXml 的 XML 字段。
每行包含一个 XML 值,如下所示:

<Folder FolderName="test" StoreName="TestStore" />

我需要以以下 XML 格式获取文件夹:
<Folders>
<Folder FolderName="test1" StoreName="TestStore1" />
<Folder FolderName="test2" StoreName="TestStore1" />
<Folder FolderName="test3" StoreName="TestStore1" />
</Folders>

我尝试使用以下 SQL 语句:
SELECT   FolderXml
FROM StoreFolder
FOR XML PATH(''), ROOT('Folders')

但它输出以下 XML:
<Folders>
<FolderXml>
<Folder FolderName="test1" StoreName="TestStore1" />
</FolderXml>
<FolderXml>
<Folder FolderName="test2" StoreName="TestStore1" />
</FolderXml>
<FolderXml>
<Folder FolderName="test3" StoreName="TestStore1" />
</FolderXml>
</Folders>

有人可以告诉我如何获取以下格式的 XML(使用 T-SQL):
<Folders>
<Folder FolderName="test1" StoreName="TestStore1" />
<Folder FolderName="test2" StoreName="TestStore1" />
<Folder FolderName="test3" StoreName="TestStore1" />
</Folders>

非常感谢

最佳答案

您只是缺少转换/转换操作:

select Convert(Xml, FolderXml)
from StoreFolder
for xml path(''), root('Folders')

您的 FolderXml字段被视为 varchar/nvarchar 字段,然后添加到 Xml 节点中。事先将其转换为 Xml 确保它不会被包裹在父标签中。

关于sql - 如何使用 T-SQL 格式化 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13763718/

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