sql >> Database >  >> RDS >> Oracle

Hoe krijg ik een zelfsluitende XML-tag in Oracle PLSQL?

Als u dit alleen met "box" hoeft te doen, kunt u :

SELECT REPLACE(XMLELEMENT( "Consignment", XMLATTRIBUTES('123' AS "id",sysdate AS "date" ),
            XMLELEMENT( "Box", xmlattributes( '321' as "id" ))     
                 ).getstringval(),'></Box>',' />') as xxx FROM DUAL;

Als u andere tags heeft die op deze manier moeten worden verwerkt, moet u REGEXP_REPLACE gebruiken met dezelfde logica.

Semantisch gezien vertegenwoordigen beide vormen echter exact dezelfde gegevens, en daarom kun je niet "gemakkelijk" doen wat je wilt doen met een parameter die aan de XML-generator is gegeven (en waarom zou je dat in de eerste plaats misschien niet moeten doen!) .



  1. Hoofdlettergevoelige variabelen in SQL Server

  2. python json dumps plaatst object in object op row_to_json return

  3. mysql-kolom ophalen vanaf de opdrachtregel

  4. Wachtwoord is niet geverifieerd met de functie password_verify