【问题标题】:Xquery return multiple values instead of one: For loop in xquery in osbXquery返回多个值而不是一个:在osb中的xquery中的for循环
【发布时间】:2019-10-05 08:08:47
【问题描述】:

容器元素不应重复..

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

注意:只有子项目必须重复,而不是容器。

我们如何在 xquery 中处理请帮助解决这个问题,我使用了 for 循环但容器正在重复...

【问题讨论】:

  • 请为我提供解决方案..如何在 OSB 12c 中处理它.. xquery
  • 当我写完 xquery 容器后,第二个块重复
  • 你能分享你写循环的什么查询和鞠躬
  • 好的,我将分享代码。我写的
  • {for $containers in $input return {(data($containers/ID)}{(data($containers/NAME)} {(data($containers/AGE)}}

标签: soap xquery soapui soa osb


【解决方案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"
            }
        ]
    }
}

【讨论】:

  • 我认为您的问题不正确。如果 在这种情况下是父标签,那么 json 转换器会自动将其转换为 json 数组
  • 你能删除那个 并执行它.. 并提供输出.. 我们会看到它来了
  • 感谢您的帮助..我会执行并通知您
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多