Xquery返回多个值而不是一个:osb中xquery中的For循环

时间:2019-05-18 03:42:46

标签: soap xquery soapui soa osb

容器元素不应重复。

  1. 在容器下,循环应重复 示例:
"Containers":
[
   {
      "I'd":"2",
      "Name":"sai",
      "Age":"23"
   },
   {
      "I'd":"3",
      "Name":"Kumar",
      "Age":"25"
   }
]

注意:只有子项必须重复,而容器则不需要。

我们如何在xquery中处理有关帮助的问题,我已经使用了循环,但是容器在重复...

1 个答案:

答案 0 :(得分:1)

假设您有一个类似xml的

<root>
 <containers>
     <Id>1</Id>
     <Name>First Name</Name>
     <Age>11</Age>
  </containers>
  <containers>
     <Id>2</Id>
     <Name>Second Name</Name>
     <Age>12</Age>
  </containers>
</root>

尝试执行给定的xquery

<root>{
  for $x in //container
   return <containers>
   <Id>{data($x/Id)}</Id> 
    <Name>{data($x/Name)}</Name>
    <Age>{data($x/Age)}</Age>
   </containers>
  }<root>

输出将为


<?xml version="1.0" encoding="UTF-8"?>
<root>
<containers>
      <Id>1</Id>
      <Name>First Name</Name>
      <Age>11</Age>
</containers>
<containers>
      <Id>2</Id>
      <Name>Second Name</Name>
      <Age>12</Age>
  </containers>
</root>

,当您将其转换为Json时,它将为您提供所需的输出 Sample Json conversion - online

{
    "root": {
        "containers": [
            {
                "Id": "1",
                "Name": "First Name",
                "Age": "11"
            },
            {
                "Id": "2",
                "Name": "Second Name",
                "Age": "12"
            }
        ]
    }
}