需要更改xml值的日期格式

时间:2017-12-04 17:37:39

标签: xml plsql

我想更改" LAST_MODIFIED_DATE"的日期格式xml标记值。任何人都可以帮助我。

实际输出:

<MESSAGE>
<LOCATIONS>
  <LOCATION_ID>9999</LOCATION_ID>
  <LOC_TYPE>S</LOC_TYPE>
  <NAME>Test Location</NAME> 
  <PHONE_NUM>08 </PHONE_NUM>   
  <LAST_MODIFIED_DATE>23-Dec-2017</LAST_MODIFIED_DATE>
</LOCATIONS>
</MESSAGE>

预期产出:

<MESSAGE>
<LOCATIONS>
  <LOCATION_ID>9999</LOCATION_ID>
  <LOC_TYPE>S</LOC_TYPE>
  <NAME>Test Location</NAME> 
  <PHONE_NUM>08 </PHONE_NUM>
  <LAST_MODIFIED_DATE>12/23/2017</LAST_MODIFIED_DATE>
</LOCATIONS>
</MESSAGE>

1 个答案:

答案 0 :(得分:0)

通过以下类型,我们在xml中加载了数据:

  CREATE OR REPLACE MESSAGE
    AS
       OBJECT (
              Location_ID         NUMBER,
              Loc_type            VARCHAR2(20),
              Name                VARCHAR2(20),
              phone_num           VARCHAR2(20),
              Last_modified       DATE
              );
    /

declare
 l_sql    VARCHAR2(2000);
 l_test_t MESSAGE:= MESSAGE();
 l_to_xml   xmltype;
begin
 l_test_t.Location_ID := 9999;
 l_test_t.Loc_type := 'S';
 l_test_t.Name := 'Test Location';
 l_test_t.phone_num := '08';
 l_test_t.Last_modified := Sysdate;
 l_to_xml := XMLTYPE(l_test_t);
 DBMS_OUTPUT.put_line(l_to_xml.getstringval);
end;

我们无法改变类型结构。所以我需要任何其他选项来更改日期格式。