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

Может кто-нибудь помочь мне с этой базой данных 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 ]

1 голос
/ 09 июня 2011

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

let $x := doc('namedocument.xml')/A/B
update insert <C>$x</C> into  doc('namedocument.xml')/A/B
0 голосов
/ 05 июня 2011

Вам не нужно 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>
...