在 FOR XML AUTO 模式下为 XML 标签添加前缀

时间:2023-02-28
本文介绍了在 FOR XML AUTO 模式下为 XML 标签添加前缀的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我想知道是否可以在每个 ELEMENT TAG 之前添加 TAG PREFIXFOR XML AUTO 模式的结果.

我知道使用 RAW 模式是可能的,但我需要使其尽可能分层 xml 结果

像这样:

 

<prefix:ID>值</prefix:ID><前缀:名称>值</前缀:名称></prefix:attName>

并且RAW模式下的查询将是这样的:

SELECT ID,姓名,从表名FOR XML RAW ('prefix'), ROOT('prefix:attName'), ELEMENTS

解决方案

您可以使用别名来实现:

WITH XMLNAMESPACES ('prefix' AS 前缀)SELECT ID AS [前缀:ID],名称 AS [前缀:名称]FROM TableName AS [前缀:attName]FOR XML AUTO, ROOT('prefix:attName'), ELEMENTS

I'd like to know if it is possible to add TAG PREFIX before every ELEMENT TAG in the result of FOR XML AUTO mode.

I know it's possible with RAW mode but I need to make its as hierarchy as possible xml result

Something like this:

       <prefix:attName>
        <prefix:ID>value</prefix:ID>
        <prefix:name>value</prefix:name>
      </prefix:attName>

and the query in the RAW mode will be like this:

SELECT ID, 
      Name,
FROM TableName 
FOR XML RAW ('prefix'), ROOT('prefix:attName'), ELEMENTS

解决方案

You can achieve this using Aliases:

WITH XMLNAMESPACES ('prefix' AS prefix)
SELECT  ID AS [prefix:ID], 
        Name AS [prefix:Name]
FROM    TableName AS [prefix:attName]
FOR XML AUTO, ROOT('prefix:attName'), ELEMENTS

这篇关于在 FOR XML AUTO 模式下为 XML 标签添加前缀的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:如何使用 XQuery 模拟 STRING_AGG()(分组字符串连接)? 下一篇:SQL Server XML 字符串操作

相关文章

最新文章