XML数据以这种格式存储在sql server
中 <Fields>
<Field id="1" name="aa" value="00"/>
<Field id="2" name="bb" value="11"/>
<Field id="3" name="cc" value="22"/>
<Field id="4" name="dd" value="33"/>
</Fields>
我想返回满足条件的所有行,但是以不同的格式返回每个xml:
<Fields aa="00" bb="11" cc="22" dd="33">
</Fields>
换句话说,我希望存储格式中的每个字段标记都作为返回的xml中的属性返回。
预期格式为<Fields aa="00" bb="11" cc="22" dd="33"> </Fields>
谢谢。
答案 0 :(得分:0)
以下是一个可以实现目标的查询。我假设您知道如何从服务器检索XML数据;在这里,我使用变量$fields
内联它:
xquery version "1.0";
let $fields :=
<Fields>
<Field id="1" name="aa" value="00"/>
<Field id="2" name="bb" value="11"/>
<Field id="3" name="cc" value="22"/>
<Field id="4" name="dd" value="33"/>
</Fields>
return
<Fields>{
for $field in $fields/Field
let $name := $field/@name
let $value := $field/@value
return
attribute { $name } { $value }
}</Fields>