Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie erhalte ich ein selbstschließendes XML-Tag in Oracle PLSQL?

Wenn Sie dies nur mit "Box" tun müssen, können Sie :

verwenden
SELECT 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!) .