我有一个xml集合:
<Cars>
<Car id="1ECFD1AB-758D-4BA1-8D4A-387861E0B2E3">etc.</Car>
<Car id="5C71E7A8-46C7-41F8-860E-69C95F917AD2">etc.</Car>
<Car>etc.</Car>
<Car>etc.</Car>
</Cars>
我将它传递给存储过程中的xml变量,并且需要一种方法来为没有一个的汽车添加带有新guid的id属性。
使用XQuery
执行此操作的最佳/最快/最有效的方法是什么?答案 0 :(得分:0)
不熟悉SQL的用法,但如果您可以在GUID-GOES-HERE
处插入变量(并根据您的环境替换doc()语法),这可能会有效:
<Cars> {
for $Car in doc('test')//Car
return <Car id='{ if ($Car/@id) then $Car/@id else "GUID-GOES-HERE"}'>{$Car/text()}</Car>
} </Cars>
(在http://basex.org/products/live-demo/上测试)
请注意,这是使用XQuery而不是XQUF(我也不知道SQL的支持级别)。