【发布时间】:2017-11-29 15:48:54
【问题描述】:
我有一个表MyTable 有一个xml 列MyXmlField 像这样:
<Root>
<Node Type="type1" position="0"/>
<Node Type="type2" position="2"/>
<Node Type="type3" position="4"/>
<Node Type="type4" position="2"/>
<Node Type="type5" position="4"/>
<Node Type="type6" position="0"/>
</Root>
Type 属性的值可以是两者之间的任何值:
type1, type2, type3, type4, type5, type6.
位置属性的值可以是任何整数。
我想用 XQuery 做的是更新每个元素 Type 的属性 Node 如下:
- 将名称从
Type更改为Identifier
所以最后,我想要这个:
<Root>
<Node Identifier="type1" position="0"/>
<Node Identifier="type2" position="2"/>
<Node Identifier="type3" position="4"/>
<Node Identifier="type4" position="2"/>
<Node Identifier="type5" position="4"/>
<Node Identifier="type6" position="0"/>
</Root>
我是 XQuery 的初学者,除了将所有内容转换为 varchar 并进行替换之外,我不知道如何正确执行此操作。此刻,我
我只能用 6 个这样的硬编码请求来查询每个值:
/Root/Node[@Type=type1)]/text())[1]
【问题讨论】:
标签: sql sql-server xpath xquery-sql