Jika Anda hanya perlu melakukan ini dengan "kotak", maka Anda dapat menggunakan :
SELECT REPLACE(XMLELEMENT( "Consignment", XMLATTRIBUTES('123' AS "id",sysdate AS "date" ),
XMLELEMENT( "Box", xmlattributes( '321' as "id" ))
).getstringval(),'></Box>',' />') as xxx FROM DUAL;
Jika Anda memiliki tag lain yang perlu diproses dengan cara ini, Anda harus menggunakan REGEXP_REPLACE menggunakan logika yang sama.
Namun secara semantik, kedua formulir mewakili data yang sama persis, itulah sebabnya Anda tidak dapat melakukan apa yang ingin Anda lakukan "dengan mudah" dengan beberapa parameter yang diberikan ke generator XML (dan mengapa mungkin Anda tidak boleh melakukannya sejak awal!) .