加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 使用TRANSACT-SQL将节点添加到XML

发布时间:2020-12-12 06:38:37 所属栏目:MsSql教程 来源:网络整理
导读:我一直在努力处理这段简单的代码而没有结果.我只是想在 XML变量中添加一个新节点. DECLARE @XML XML;SET @XML = 'rootpolicyData txtComentario / idRegProducto76/idRegProducto txtDuracion24/txtDuracion/policyData/root';DECLARE @NODE XML;SET @NODE =
我一直在努力处理这段简单的代码而没有结果.我只是想在 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之前,我必须先设置一些东西吗?有什么建议为什么这不起作用?

提前致谢!

解决方法

使用[0]时,实际上是在说[position()= 0].第一个节点的位置为1,因此如果要将新节点插入第一次出现的policyData,则应将谓词更改为[1].

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读