在启动元素java sax处理器之前调用的错误方法

时间:2014-01-22 01:13:29

标签: java sax

我正在使用java sax解析器解析xml文档并根据模式验证它。验证空元素时,如果元素具有以下格式,则解析器可以正常工作

<submitmonth></submitmonth>

我收到的错误很好(说提交月份为空,应该是这样的等等)。代码执行的顺序是

  1. 启动元素

  2. 验证错误

  3. 结束元素

  4. 使用短手xml时

    <submitmonth/>
    

    ,方法调用顺序似乎发生了变化。我注意到呼叫顺序低于

    1. 验证错误

    2. 启动元素

    3. 结束元素

    4. 不确定为什么会这样。我希望短手的处理方式与普通的xml

      相同

      请帮助

1 个答案:

答案 0 :(得分:1)

SAX无法保证何时报告错误与报告开始和结束元素的时间。你的程序应该被编写为容忍这种变化。

如果您认为解析器应该对该行为更加规律,请使用该解析器的作者或尝试其他SAX解析器。

除了提供这两个建议之外,我们在这里没有任何事情可做。