Wenn Sie dies nur mit "Box" tun müssen, können Sie :
verwendenSELECT REPLACE(XMLELEMENT( "Consignment", XMLATTRIBUTES('123' AS "id",sysdate AS "date" ),
XMLELEMENT( "Box", xmlattributes( '321' as "id" ))
).getstringval(),'></Box>',' />') as xxx FROM DUAL;
Wenn Sie andere Tags haben, die auf diese Weise verarbeitet werden müssen, müssen Sie REGEXP_REPLACE mit derselben Logik verwenden.
Semantisch repräsentieren beide Formen jedoch genau die gleichen Daten, weshalb Sie mit einigen Parametern, die dem XML-Generator gegeben werden, nicht "einfach" tun können, was Sie tun möchten (und warum Sie das vielleicht gar nicht erst tun sollten!) .