wir schreiben mit SQL so:
Code:
C/EXEC SQL   SET OPTION  COMMIT=*NONE, DATFMT=*ISO, TIMFMT=*ISO, 
C+                       NAMING=*SYS,  CLOSQLCSR=*ENDACTGRP      
C/END-EXEC                                                       
 /FREE                                                           
    CLEAR MYXMLDOC;                                              
    MYXMLDOC_NAME = '/HOME/RJ/MYXMLDOC.XML';                     
    MYXMLDOC_NL   = %LEN(%TRIM(MYXMLDOC_NAME));                  
    MYXMLDOC_FO   = SQFOVR;       //REPLACE IF EXISTS            
                                                                 
    EXEC SQL                                                     
        SELECT XMLDOCUMENT                                       
                 (XMLGROUP(ADR006 AS "D_C",                      
                           ADR007 AS "NUMMER",                   
                           ADR009 AS "INTERN-NAME",              
                           ADR018 AS "STREET",                   
                           ADR015 AS "ZIPCODE",                  
                           ADR020 AS "CITY"                      
                           ORDER BY ADR015 DESC, ADR009          
                           OPTION ROW "KUNDEN"  
                               ROOT "ADRESSEN"))         
              INTO :MYXMLDOC                             
              FROM ADRM1;                                
                                                         
      *INLR       = *ON;                                 
     /END-FREE
vielleicht hilft dir das ja

Robi