使用XQuery进行查询
XML数据以这种格式存储在sql server中使用XQuery进行查询,xquery,Xquery,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&g
<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中的属性返回
预期格式为
谢谢。下面是一个可以实现您目标的查询。我假设您知道如何从服务器检索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>