在SQL Server中更新XML节点

道格外套

我经历了与该主题有关的所有各种问题,似乎无法从已经提供的内容中找到答案。

我想做的是在xml结构中插入一个新节点。当我运行下面的代码时,它不会引发错误,但是XML不包含新插入的“ material”子节。

你们中有人会指出我在这里的混乱吗?

 DECLARE @t TABLE (rowID int IDENTITY PRIMARY KEY, XmlData XML)

 INSERT INTO @t (XmlData)
VALUES ('
<Root>
<ProductDescription ProductID="01" ProductName="Widget">
    <Features>
        <Warranty>1 year</Warranty>
        <Maintenance>Monthly</Maintenance>
    </Features>
</ProductDescription>
</Root>
')

UPDATE @t
SET XmlData.modify('insert <Material /> as first into (/Features)[1]')

SELECT 'before' s, DATALENGTH(XmlData) dl, XmlData
FROM @t
WHERE rowId = 1
marc_s

您需要在要插入新XML片段的位置指定完整的XPath:

UPDATE @t
SET XmlData.modify('insert <Material /> as first into (/Root/ProductDescription/Features)[1]')

您需要使用

/Root/ProductDescription/Features)[1]

不只是

/Features)[1]

这样就可以了

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用SQL Server更新XML列的单个XML节点值

来自分类Dev

使用SQL Server更新XML列的单个XML节点值

来自分类Dev

跟踪SQL Server中XML节点的流

来自分类Dev

从SQL Server中的XML文件删除节点

来自分类Dev

跟踪SQL Server中XML节点的流

来自分类Dev

在SQL Server中读取动态XML节点

来自分类Dev

更新SQL Server中的xml节点属性,并过滤其他属性

来自分类Dev

从SQL Server 2005中的列中获取查询的xml节点

来自分类Dev

SQL Server中的XML列更新

来自分类Dev

使用 SQL Server 中的变量更新 xml

来自分类Dev

如何更新 SQL Server 中的 xml 字段

来自分类Dev

将XML节点转换为SQL Server中的行

来自分类Dev

SQL Server中两个xml节点的数值比较

来自分类Dev

从SQL Server中的XML读取子节点及其父属性

来自分类Dev

在SQL Server中的XML节点上进行多目标搜索

来自分类Dev

将XML节点插入SQL Server中的表

来自分类Dev

将XML节点转换为SQL Server中的行

来自分类Dev

如何在SQL Server中根据条件获取xml节点

来自分类Dev

在SQL Server 2008中删除XML子节点元素

来自分类Dev

如何在SQL Server中求和XML节点值

来自分类Dev

拉取 SQL Server 中的所有子 XML 节点

来自分类Dev

如何在SQL Server中使用XML DML更新XML节点

来自分类Dev

使用SQL脚本在XML列SQL Server中重命名XML节点名称

来自分类Dev

使用SQL脚本在XML列SQL Server中重命名XML节点名称

来自分类Dev

在SQL中操作XML节点(合并节点)

来自分类Dev

使用XML的节点和子节点将行从xml中插入到SQL Server中的表中

来自分类Dev

如何通过SQL Server中的FOR XML在多个xml输出中的根节点之后插入元素

来自分类Dev

更新XML列-SQL Server

来自分类Dev

更新XML列-SQL Server

Related 相关文章

热门标签

归档