sql中的xml节点:如何强制结束其他节点
是否有任何方法可以强制在sql中的其他节点使用结束xml?我需要结束并重新打开一个特定节点。我的代码当前看起来像:sql中的xml节点:如何强制结束其他节点,sql,xml,tsql,tags,nodes,Sql,Xml,Tsql,Tags,Nodes,是否有任何方法可以强制在sql中的其他节点使用结束xml?我需要结束并重新打开一个特定节点。我的代码当前看起来像: USE [DBNAME] Select (Select 'EK' as 'prices/price/group', XUVP as 'prices/price/price', '1' as 'prices/price/from', 'beliebig' as 'prices/price/to', '
USE [DBNAME]
Select (Select
'EK' as 'prices/price/group',
XUVP as 'prices/price/price',
'1' as 'prices/price/from',
'beliebig' as 'prices/price/to',
'FH' as 'prices/price/group',
XHEK as 'prices/price/price',
'1' as 'prices/price/from',
'beliebig' as 'prices/price/to',
'D' as 'prices/price/group',
XDEK as 'prices/price/price',
'1' as 'prices/price/from',
'beliebig' as 'prices/price/to',
'P' as 'prices/price/group',
XPEK as 'prices/price/price',
'1' as 'prices/price/from',
'beliebig' as 'prices/price/to'
FOR XML Path('article'),Type,Elements)
FROM [dbo].[TABLENAME] FOR XML PATH ('articles'), Elements, ROOT('Root')
GO
其结果是:
<prices>
<price>
<group>EK</group>
<price>459.000</price>
<from>1</from>
<to>beliebig</to>
----> </price>
----> <price>
<group>FH</group>
<price>279.000</price>
<from>1</from>
<to>beliebig</to>
</price>
</prices>
埃克
459
1.
贝利比格
---->
---->
跳频
279
1.
贝利比格
我需要在四个子节点之后“强制结束”每个价格层(第二层),并为下一个四个节点启动一个新的价格层。缺少的结束和开始标记被添加并标记在上面发布的result中
此外,我想为任何语法错误道歉,但我不是本地人。即使对于习惯sql的人来说,这个问题可能很简单,但我还是非常感谢您的帮助
提前感谢并致以最良好的祝愿
Oto不确定这是否是您要查找的确切结果,但您可以通过插入空值看到,标记将重置
Declare @YourTable table (XUVP int,XHEK int,XDEK int,XPEK int)
Insert Into @YourTable values
(459,279,-999,999)
Select (Select
'EK' as 'price/group',
XUVP as 'price/price',
'1' as 'price/from',
'beliebig' as 'price/to',
null,
'FH' as 'price/group',
XHEK as 'price/price',
'1' as 'price/from',
'beliebig' as 'price/to',
null,
'D' as 'price/group',
XDEK as 'price/price',
'1' as 'price/from',
'beliebig' as 'price/to',
null,
'P' as 'price/group',
XPEK as 'price/price',
'1' as 'price/from',
'beliebig' as 'price/to'
FOR XML Path('prices'),Type,Elements, ROOT('article'))
FROM @YourTable FOR XML PATH ('articles'), Elements, ROOT('Root')
返回
<Root>
<articles>
<article>
<prices>
<price>
<group>EK</group>
<price>459</price>
<from>1</from>
<to>beliebig</to>
</price>
<price>
<group>FH</group>
<price>279</price>
<from>1</from>
<to>beliebig</to>
</price>
<price>
<group>D</group>
<price>-999</price>
<from>1</from>
<to>beliebig</to>
</price>
<price>
<group>P</group>
<price>999</price>
<from>1</from>
<to>beliebig</to>
</price>
</prices>
</article>
</articles>
</Root>
埃克
459
1.
贝利比格
跳频
279
1.
贝利比格
D
-999
1.
贝利比格
P
999
1.
贝利比格
Hi,又是一个好答案。你可以去看看。有人非常需要你的ReadMyXML函数:-)谢谢你的回答!是否可以在文章节点中添加不在价格节点中的其他节点?@o当然可以,但我需要一个样本谢谢您的快速回答。我怎样才能给你发送一个呢?在大价格节点之后,我需要一些节点,一个类别的新母节点,其中包含一些子节点,然后在该块上再添加一些节点。