XQuery - вложение последовательности элементов под одним узлом

Я использую xquery с BaseX, чтобы попытаться получить информацию из тестовых случаев JMeter (файлы.jmx) в желаемом формате.
Это код, который я на самом деле работаю (внутри BaseX GUI):

let $rlist := db:list("JMeter")
for $resource in $rlist
let $rcontent := db:open("JMeter", $resource)
let $ret :=
  <HttpRequest>
  {
    for $item in $rcontent/jmeterTestPlan//HTTPSamplerProxy
    return
      (<method>
      {
        $item/stringProp[attribute()/string() = "HTTPSampler.method"]/text()
      }
      </method>,
      <path>
      {
        let $parse := $item/stringProp[attribute()/string() = "HTTPSampler.path"]/text()
        let $parse := fn:replace($parse, "\?[^/]*", "")
        let $parse := fn:replace($parse, "\$[^/]*", "\${}")
        let $parse := fn:replace($parse, "[0-9]+", "\${}")
        return $parse
      }
      </path>,
      <resource>
      {
        $resource
      }
      </resource>)
  }
  </HttpRequest>

return
<HttpRequests>
{
  $ret
}
</HttpRequests>

Полученный XML выглядит так:

<HttpRequests>
  <HttpRequest>
    <method>POST</method>
    <path>/config</path>
    <resource>CentralConfiguration/Requests/addConfiguration.jmx</resource>
  </HttpRequest>
</HttpRequests>
<HttpRequests>
  <HttpRequest>
    <method>POST</method>
    <path>/propertyType</path>
    <resource>CentralConfiguration/Requests/addPropertyType.jmx</resource>
  </HttpRequest>
</HttpRequests>
...

Я ожидаю, что результат будет выглядеть так:

<HttpRequests>
  <HttpRequest>
    <method>POST</method>
    <path>/config</path>
    <resource>CentralConfiguration/Requests/addConfiguration.jmx</resource>
  </HttpRequest>
  <HttpRequest>
    <method>POST</method>
    <path>/propertyType</path>
    <resource>CentralConfiguration/Requests/addPropertyType.jmx</resource>
  </HttpRequest>
  ...
</HttpRequests>

Я очень признателен за помощь в форматировании моего xquery, чтобы получить ожидаемый результат, спасибо

1 ответ

Решение

Проблема была решена путем размещения внешней петли внутри первой метки.

Другие вопросы по тегам