Обернуть теги XML (вставить вокруг существующих данных XML) в xquery для eXist

Может кто-нибудь, пожалуйста, помогите мне с этим xquery для базы данных eXist. У меня есть следующая структура XML

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

Я пытаюсь получить следующую структуру

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

Как мне вставить <C> тег?

Спасибо
--SD

2 ответа

Я не могу проверить, но это должно быть так:

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

Вам не нужно 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>
Другие вопросы по тегам