XQuery更新 - 新的节点添加到组节点
问题描述:
我有以下结构的XML文件 -XQuery更新 - 新的节点添加到组节点
<Root>
<Doc>
<Ref>
<A></A>
<B></B>
<A></A>
<B></B>
<B></B>
<B></B>
</Ref>
</Doc>
<Doc>
<Ref>
<A></A>
<B></B>
<B></B>
<B></B>
</Ref>
</Doc>
<Doc>
<Ref>
<A></A>
<B></B>
<B></B>
<A></A>
<B></B>
<B></B>
</Ref>
</Doc>
</Root>
节点A
和B
需要像
<Root>
<Doc>
<Ref>
<data>
<A></A>
<B></B>
</data>
<data>
<A></A>
<B></B>
<B></B>
<B></B>
</data>
</Ref>
</Doc>
<Doc>
<Ref>
<data>
<A></A>
<B></B>
<B></B>
<B></B>
</data>
</Ref>
</Doc>
<Doc>
<Ref>
<data>
<A></A>
<B></B>
<B></B>
</data>
<data>
<A></A>
<B></B>
<B></B>
</data>
</Ref>
</Doc>
</Root>
的数量来分组的所有同步节点节点B
,节点A
可以是任何东西,如2,3或10 ..
答
处理这种结构的最佳方法ctures带有'翻转窗口子句'。这将很好地组织您想要的组中的数据。我会留给你找出所需的确切的xquery-update语法。
for $ref in //Ref
return <Ref>{
for tumbling window $w in $ref/element()
start $s when $s/self::A
return <data>{$w}</data>
}</Ref>
+0
谢谢。它是我正在寻找的。再次感谢。 – John 2014-12-10 04:14:57
你到目前为止尝试过什么?另外,“同时”是什么意思?在我看来,你想要将所有''元素与以下''一起组合在一起,直到出现下一个''元素。这是正确的解释吗? – dirkk 2014-12-09 12:12:38
@dirkk - 是的正确解释 – John 2014-12-09 12:13:35