2

任何人都可以帮我解决这个用于 eXist 数据库的 xquery。我有以下xml结构

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

我正在尝试获得以下结构

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

如何插入<C>标签?

谢谢
--SD

4

2 回答 2

1

我无法验证,但应该是这样:

let $x := doc('namedocument.xml')/A/B
update insert <C>$x</C> into  doc('namedocument.xml')/A/B
于 2011-06-09T09:15:54.547 回答
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>
于 2011-06-05T14:57:52.440 回答