这是使用xmltype
在PL_SQL中验证XML文件的代码doc := dbms_xmldom.newdomdocument;
... xml file is build
v_xml:=DBMS_XMLDOM.GETXMLTYPE(doc);
v_schema:=v_xml.createSchemaBasedXML('xml.xsd');
BEGIN
v_schema.schemavalidate();
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('XML File is not valid');
END;
是否可以知道文件在哪里无效,什么节点?
谢谢
注意:以这种方式隐藏了例外:
ORA-31154: invalid XML document
ORA-19202: Error occurred in XML processing
LSX-00333: literal "" is not valid with respect to the pattern
dbms_utility.format_error_stack正在提供更多错误详细信息,包括LSX错误消息,这给您带来了验证错误的类型,例如
dbms_output.put_line(dbms_utility.format_error_stack);
ORA-31154:无效的XML文档
ORA-19202:XML处理中发生错误
LSX-00220:"长度错误,应为12
ora-06512:at sys.xmltype&quort',354