0

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>

谢谢你。

4

1 回答 1

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>
于 2012-06-22T19:46:46.323 回答