Oracle
 sql >> Base de données >  >> RDS >> Oracle

Oracle Pl/SQL :boucle sur les nœuds XMLTYPE

Vous pouvez parcourir les éléments en utilisant EXTRACT et XMLSequence (divise le XML en morceaux distincts -- ici les utilisateurs) comme ceci :

SQL> SELECT extractvalue(column_value, '/user/name') "user"
  2    FROM TABLE(XMLSequence(XMLTYPE(
  3                 '<?xml version="1.0"?>
  4                     <users>
  5                         <user>
  6                             <name>user1</name>
  7                         </user>
  8                         <user>
  9                             <name>user2</name>
 10                         </user>
 11                         <user>
 12                             <name>user3</name>
 13                         </user>
 14                     </users>').extract('/users/user'))) t;

user
--------
user1
user2
user3