在xquery中为eXist包装XML标记(在现有xml数据周围插入)

时间:2011-06-01 14:22:30

标签: xml xquery exist-db

任何人都可以帮助我使用这个xquery for eXist数据库。我有以下xml结构

<A>  
   <B>  
     <D/>  
     <D/>  
     <D/>  
     <E/>  
  </B>  
</A> 

我正在尝试获得以下结构

<A>  
   <B>  
    <C>  
     <D/>  
     <D/>  
     <D/>  
     <E/>   
    </C>   
  </B>  
</A>

如何插入<C>代码?

感谢
--SD

2 个答案:

答案 0 :(得分:1)

我无法验证,但应该如此:

let $x := doc('namedocument.xml')/A/B
update insert <C>$x</C> into  doc('namedocument.xml')/A/B

答案 1 :(得分:0)

您不需要XQuery Update来执行此类操作

这个XQuery应用程序:

<A>
 <B>
  <C>
  {for $n in /A/B/node()
   return $n}
  </C> 
 </B>
</A>

应用于提供的XML文档

<A>      
  <B>
    <D/>
    <D/>
    <D/>
    <E/>
  </B>   
</A>  

产生完全正确的结果

<A>
   <B>
      <C>
         <D/>
         <D/>
         <D/>
         <E/>
      </C>
   </B>
</A>