如何在Oracle中修复XML标记

我在oracle sql中有空标记,例如

    <ID></ID>

我需要将其更改为

    <ID/>

在oracle sql中。 有人有解决方案吗?

Expected:"<ID/>"
actual:"<ID></ID>"

我正在使用此Oracle XML查询生成XML:

Select XMLSERIALIZE(DOCUMENT XMLELEMENT("EMP",XMLATTRIBUTES('NIKHIL' "NAME" ),XMLELEMENT("ID",ID),XMLELEMENT("DESIGNATION",DESIGNATION)) ) as "XML" 
from (select '1' "ID",'DEVELOPER' "DESIGNATION" 
      from dual 
      union 
      select null "ID",'DEVELOPER' "DESIGNATION" from dual )
h0712027 回答:如何在Oracle中修复XML标记

如果将其包装在xmlroot元素中,则会根据需要获得标签。

  Select XMLSERIALIZE(DOCUMENT 
      XMLROOT(
      XMLELEMENT
      (
          "EMP",XMLATTRIBUTES('NIKHIL' "NAME" ),XMLELEMENT("ID",ID),XMLELEMENT("DESIGNATION",DESIGNATION) 
      ),version '1.0" encoding="Windows-1250')) as "XML" 
  from (select '1' "ID",'DEVELOPER' "DESIGNATION" 
        from dual 
        union 
        select null "ID",'DEVELOPER' "DESIGNATION" from dual )

结果是:

<?xml version="1.0" encoding="Windows-1250"?>
<EMP NAME="NIKHIL">
<ID/>
<DESIGNATION>DEVELOPER</DESIGNATION>
</EMP>
本文链接:https://www.f2er.com/3168659.html

大家都在问