我遇到了在SQL Server中修改XML的问题,这对我来说似乎没有意义.我想更新一个空节点的值,但它似乎没有工作.例如,假设我有这个XML树:
<root>
<node />
</root>
Run Code Online (Sandbox Code Playgroud)
我想<node />
用'foo' 更新值,所以我有XML查询:
UPDATE [Table]
SET [XmlColumn].modify('
replace value of (root/node/text())[1]
with "foo"')
Run Code Online (Sandbox Code Playgroud)
出于某种原因,这不起作用.它将节点视为不存在.如果节点已经有一个值(例如<node>bar</node>
),它可以正常工作,但是当节点为空时,它会默默地忽略该命令,甚至不会抛出任何错误.有没有办法让SQL Server replace value of
在空节点上确认?
编辑:
我希望这个查询的最终结果是这样的:
<root>
<node>
foo
</node>
</root>
Run Code Online (Sandbox Code Playgroud)
小智 7
UPDATE [Table]
SET [XmlColumn].modify(' insert text{"foo"} into (/root/node)[1]')
Run Code Online (Sandbox Code Playgroud)
为我尝试这项工作
这会有什么帮助吗:http://whyiamright.wordpress.com/2008/01/02/updating-xml-column-in-sql-server-2005/?
您似乎错过了 xpath 开头的斜杠。
编辑:那么它似乎是这个问题的重复:
归档时间: |
|
查看次数: |
9751 次 |
最近记录: |