Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-31011: XML parsing failed

INRiSep 17 2013 — edited Sep 18 2013

I have one procedure like-

create or replace

procedure   parse_xml_typetest (p_schema_dir varchar2,

                    P_SCHEMA_FILE VARCHAR2,P_CREATE_TYPE VARCHAR2 DEFAULT 'N')

is

  l_bfile   BFILE;

  l_clob    CLOB;

  l_parser  dbms_xmlparser.Parser;

  l_doc      dbms_xmldom.DOMDocument;

  l_nl        dbms_xmldom.DOMNodeList;

  l_n         dbms_xmldom.DOMNode;

  l_file      dbms_xmldom.DOMNodeList;

  l_range      dbms_xmldom.DOMNodeList;

  l_filen    dbms_xmldom.DOMNode;

  rg_value VARCHAR2(1000);

  l_ch      dbms_xmldom.DOMNode;

  l_rg      dbms_xmldom.DOMNode;

BEGIN

  l_bfile := BFileName(p_schema_dir, P_SCHEMA_FILE);

  dbms_lob.createtemporary(l_clob, cache=>FALSE);

  dbms_lob.open(l_bfile, dbms_lob.lob_readonly);

  dbms_lob.loadFromFile(dest_lob => l_clob,    src_lob  => l_bfile,    amount   => dbms_lob.getLength(l_bfile));

  dbms_lob.close(l_bfile);

  dbms_session.set_nls('NLS_DATE_FORMAT','''DD-MON-YYYY''');

  dbms_session.set_nls('NLS_LANGUAGE','AMERICAN');

  l_parser := dbms_xmlparser.newParser;

  dbms_xmlparser.parseClob(l_parser, l_clob);

  DBMS_OUTPUT.PUT_LINE('TTTETETE');

  l_doc := dbms_xmlparser.getDocument(l_parser);

    dbms_lob.freetemporary(l_clob);

  dbms_xmlparser.freeParser(l_parser);

    

  dbms_xmldom.freeDocument(l_doc);

EXCEPTION

  WHEN OTHERS THEN

  dbms_output.put_line(sqlcode);

  dbms_output.put_line(sqlerrm);

    dbms_lob.freetemporary(l_clob);

    dbms_xmlparser.freeParser(l_parser);

    dbms_xmldom.freedocument(l_doc);

end;

I have a XML-

<Types>

   <Type>

      <Name>Student</Name>

      <Description/>

      <Derived>Area</Derived>

      <Hidden>FALSE</Hidden>

      <Abstract>TRUE</Abstract>

   </Type>

</Types>

I am executing same procedure in two database--

EXECUTE parse_xml_typetest('DIR','test.xml','N');

For database with NLS_CHARACTERSET=WE8MSWIN1252 executing successfully but for database with NLS_CHARACTERSET=AL32UTF8 gives error-

ORA-31011: XML parsing failed

ORA-19202: Error occurred in XML processing

LPX-00210: expected '<' instead of 'T'

Error at line 1

Thanks,

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 16 2013
Added on Sep 17 2013
3 comments
565 views