繁体   English   中英

将属性值的XML序列转换为字符串?

[英]Turn an XML sequence of attribute values into a string?

使用xquery 1.0,我想采用这样的序列;

<foo xml:id="x20"/>
<foo xml:id="x47"/>
<foo xml:id="x3"/>

并将id整理成一个字符串,以放入像这样的新元素的属性;

<bar ids="x20 x47 x3"/>

有没有办法在没有使用FLWOR手动迭代输入序列的情况下执行此操作?

let $s := (<foo xml:id="x20"/>,<foo xml:id="x47"/>,<foo xml:id="x3"/>)
return <bar ids="{$s/@xml:id}"/>

用途

<bar ids="{/*/*/@xml:id}"/>

当这个XQuery应用于以下XML文档时 (只需将提供的XML片段包装到格式良好的XML文档中):

<t>
  <foo xml:id="x20"/>
  <foo xml:id="x47"/>
  <foo xml:id="x3"/>
</t>

产生了想要的正确结果

<bar ids="x20 x47 x3"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM