求助,我的xml文件解析不了刚接触这个,写了个程序,但是每次都报错,不知道是哪里错了
xml文件<?xml version="1.0" encoding="GBK" ?> 
- <wlyx>
- <ddxx>
  <id>4760</id> 
  <khid>964</khid> 
  </ddxx>
  </wlyx>过程如下:procedure xml_to_db(fileName IN varchar2) as
  dst_loc CLOB;
  crms_group_relation DBMS_XMLSTORE.CTXTYPE;
  N      NUMBER;
  src_loc    bfile := bfilename('xml_dir', fileName);      ---xml_dir是我创建的DIRECTORY对象
  amt        number := dbms_lob.lobmaxsize;
  src_offset number := 1;
  dst_offset number := 1;
  lang_ctx   number := dbms_lob.default_lang_ctx;
  warning    number;
  v_exists   PLS_INTEGER := 0;quantity exception;
beginDBMS_LOB.CREATETEMPORARY(dst_loc, true);--该语句必写,原因不明,否则报错。
  DBMS_OUTPUT.PUT_LINE('------------ LOB LOADCLOBFORMFILE EXAMPLE ------------');  dbms_lob.fileopen(src_loc, dbms_lob.file_readonly);
  v_exists := DBMS_LOB.fileexists(src_loc);
----  用于测试文件名以及路径是否正确
  IF v_exists = 0 THEN
    dbms_output.put_line('FILE NOT EXIST');
  ELSE
    dbms_output.put_line('FILE AND DIR VALID');
  END IF;
----将数据从OS文件加载到CLOB变量-------
  dbms_lob.LOADCLOBFROMFILE(dst_loc,
                            src_loc,
                            amt,
                            dst_offset,
                            src_offset,
                            dbms_lob.default_csid,
                            lang_ctx,
                            warning);
  dbms_output.put_line(' Amount specified ' || amt);
  dbms_output.put_line(' Number of bytes read from source: ' ||
                       (src_offset - 1));
  dbms_output.put_line(' Number of characters written to destination: ' ||
                       (dst_offset - 1));
  if (warning = dbms_lob.warn_inconvertible_char) then
    dbms_output.put_line('Warning: Inconvertible character');
  end if;
  dbms_lob.filecloseall();
  DBMS_OUTPUT.PUT_LINE(dst_loc);
  
  CRMS_GROUP_RELATION := DBMS_XMLSTORE.NEWCONTEXT('WLYX_DD_ZF');
  DBMS_XMLSTORE.CLEARUPDATECOLUMNLIST(CRMS_GROUP_RELATION);
  DBMS_XMLSTORE.SETUPDATECOLUMN(CRMS_GROUP_RELATION, 'ID');
  DBMS_XMLSTORE.SETUPDATECOLUMN(CRMS_GROUP_RELATION, 'KHID');  
  N := DBMS_XMLSTORE.INSERTXML(CRMS_GROUP_RELATION, DST_LOC);
  DBMS_OUTPUT.PUT_LINE(N);
  DBMS_XMLSTORE.CLOSECONTEXT(CRMS_GROUP_RELATION);
end;
每次都报错如下:
ORA-31011: XML 语法分析失败
ORA-19202: XML 处理 
LPX-00222: 接收到来自 SAX 回调函数的错误 时出错
ORA-06512: 在 "SYS.DBMS_XMLSTORE", line 78
ORA-06512: 在 "CDATA.CRIDATA_WLYX_DD", line 129
ORA-06512: 在 line 3  
求大虾帮忙,不胜感谢