Как исправить XML-теги в Oracle - PullRequest
1 голос
/ 04 ноября 2019

У меня есть пустой тег в Oracle Ocl, как

    <ID></ID>

Мне нужно изменить его на

    <ID/>

в Oracle OQL. У кого-нибудь есть решение для этого?

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 )

1 Ответ

1 голос
/ 04 ноября 2019

Если вы поместите его в элемент 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...