【问题标题】:XQuery: best way to convert node sequence to arrayXQuery:将节点序列转换为数组的最佳方法
【发布时间】:2018-04-21 16:45:44
【问题描述】:

我正在使用 Saxon,版本 9.8.0.6 和这个输入文档:

<simple>
  <hello>Hello World!</hello>
  <number>42</number>
  <keyword>abc</keyword>
  <keyword>def</keyword>
  <keyword>ghi</keyword>
</simple>

还有这个查询

xquery version "3.1";
fn:serialize(map{
  'greeting': data(/simple/hello),
  'number': number(/simple/number),
  'keywords': array{ for $k in /simple/keyword return data($k) }
}, map{'method':'json', 'indent':true()})

输出是(如预期的那样):

{
  "number":42,
  "keywords": [
    "abc",
    "def",
    "ghi"
   ],
  "greeting":"Hello World!"
 }

问题:

'keywords': array{ for $k in /simple/keyword return data($k) } 对我来说似乎有点笨拙。这是这样做的方法吗?有什么改进建议吗?

【问题讨论】:

    标签: saxon xquery-3.0


    【解决方案1】:

    你可以减少

    array{ for $k in /simple/keyword return data($k) }
    

    到

    array{data(/simple/keyword)}
    

    【讨论】:

      猜你喜欢
      • 2018-12-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 2013-10-30
      • 1970-01-01
      • 1970-01-01
      • 2015-08-13
      相关资源
      最近更新 更多