我正在寻找一种在特定位置插入特定XML节点的方法。以下是示例:
<Car>
<Brand>Toyota</Brand>
<Color>Red</Color>
<Price>10000</Color>
</Car>
如果我想要在<Year>2012</Year>
和<Color>
节点之间插入节点<Price>
,我该怎么办?
请注意,在我当前的方案中,替换整个XML文档不是一个选项。感谢
答案 0 :(得分:3)
您可以使用XQuery insert ... after ...
语句在Year
之后插入Color
元素:
declare @xml XML = '<Car>
<Brand>Toyota</Brand>
<Color>Red</Color>
<Price>10000</Price>
</Car>'
SET @xml.modify('
insert <Year>2012</Year>
after (//Color)[1]
')
SELECT @xml
输出
<Car>
<Brand>Toyota</Brand>
<Color>Red</Color>
<Year>2012</Year>
<Price>10000</Price>
</Car>