现在我写了存储过程,把表里面的数据导出到xml中,现在的格式是:
<?xml version="1.0" encoding="GBK" ?> 
<PEOPLE>
<PERSON PERSONID="1">
  <NAME>1</NAME> 
  <ADDRESS>1</ADDRESS> 
  <TEL>1</TEL> 
  <FAX>1</FAX> 
  <EMAIL>1</EMAIL> 
  </PERSON>
</PEOPLE>
但是我想得到的xml的格式是这样:
<?xml version="1.0" encoding="GBK" ?> 
<PEOPLE>
<PERSON PERSONID="1">
  <NAME  DBSource="" tableSource="" fieldSource="" >1</NAME> 
  <ADDRESS  DBSource="" tableSource="" fieldSource="" >1</ADDRESS> 
  <TEL  DBSource="" tableSource="" fieldSource="" >1</TEL> 
  <FAX  DBSource="" tableSource="" fieldSource="" >1</FAX> 
  <EMAIL  DBSource="" tableSource="" fieldSource="" >1</EMAIL> 
  </PERSON>
</PEOPLE>
请问我该怎么处理好?
参考存储过程如下:
CREATE OR REPLACE PROCEDURE JSBDATA.PROC_TOXML(result in out nocopy clob,
filename in varchar2)is
xmlstr varchar2(32767);
line varchar2(2000);
fhandle utl_file.file_type;
begin
  fhandle := utl_file.fopen('EXP_DIR', filename,'w');
  xmlstr := dbms_lob.substr(result,32767);
  loop exit when xmlstr is null;
    line := substr(xmlstr,1, instr(xmlstr, chr(10)) -1);
    dbms_output.put_line('|'|| line);
    utl_file.put_line(fhandle, line);
    xmlstr := substr(xmlstr, instr(xmlstr, chr(10)) +1);
  end loop;
  utl_file.fclose(fhandle);
end;
/
--------------------
CREATE OR REPLACE PROCEDURE PROC_USETABLE2XML /* (参数, 参数...) */
is
queryctx dbms_xmlquery.ctxType;
result clob;
begin
------1
queryctx := dbms_xmlquery.newContext('select * from people');--存放查询记录集的SQL
result := dbms_xmlquery.getXML(queryctx);
proc_toxml(result,'1.xml');
dbms_xmlquery.closeContext(queryctx);
end;