【问题标题】:How to know what node is not valid with XMLTYPE如何知道哪个节点对 XMLTYPE 无效
【发布时间】:2017-09-28 14:06:16
【问题描述】:

这是使用 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

【问题讨论】:

  • 请显示带有数据的minimal reproducible example,以及您隐藏的确切异常错误
  • 你是那个在问题上加减一的人吗?
  • 嗯,不...... ......

标签: oracle plsql xmltype


【解决方案1】:

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:在“SYS.XMLTYPE”,第 354 行

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    • 1970-01-01
    • 2020-07-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多