8

我一直在努力处理这段没有结果的简单代码。我只是想向 XML 变量添加一个新节点。

DECLARE @XML XML;
SET @XML = '<root>
<policyData>
    <txtComentario />
    <idRegProducto>76</idRegProducto>
    <txtDuracion>24</txtDuracion>
</policyData>
</root>';
DECLARE @NODE XML;
SET @NODE = '<newNode>10</newNode>';
SET @XML.modify
('insert sql:variable("@NODE") as first
into (/root/policyData)[0]')
SELECT @XML;

没有错误,但新节点未显示在输出中。在 SQL Server 中使用 XML 之前,我必须先设置什么?任何建议为什么这不起作用?

提前致谢!

4

1 回答 1

8

当您使用时,[0]您实际上是在说[position()=0]. 第一个节点有位置1,因此[1]如果要将新节点插入到policyData.

于 2013-08-26T15:39:14.360 回答