PROCEDURE test(P_PARAMS IN VARCHAR2, P_RESULTS OUT long) AS
v_xmlparser xmlparser.parser := xmlparser.newparser;
v_doc xmldom.DOMDocument;
BEGIN
xmlparser.setvalidationmode(v_xmlparser, FALSE);
xmlparser.parseBuffer(v_xmlparser, P_PARAMS);
v_doc := xmlparser.getdocument(v_xmlparser);
xmlparser.freeparser(v_xmlparser);
END;
当xml包含version和encoding信息时(即包含 <?xml version="1.0" encoding="utf-8"?>),调用xmlparser.getdocument就报错。
错误信息如下:
ORA-31011: XML 语法分析失败
ORA-19202: XML 处理
LPX-00209: 保留以 XML 开头的 PI 名
如果去掉xml的version和encoding信息,则没有,可以正常解析。
大神们帮忙看看,是什么原因。