使用java解析xml时调用startElement方法的原因

时间:2014-03-26 10:57:01

标签: java android xml

我正在经历this tutorial并且我注意到startElement方法被调用了两次,但我没有看到任何方法调用...它似乎自动发生...你能解释一下这是怎么回事方法叫做?

2 个答案:

答案 0 :(得分:1)

回调方法在到达对象开头时由分析器对象调用。 例如,要使用SAX解析器解析xml文件,您将拥有:

SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser saxParser = spf.newSAXParser();
saxParser.parse(new File(sourceFile), this);

其中"这个"指实现接口 ContentHandler 的当前类。我们覆盖回调方法,例如 startElement ,当saxParser读取某些事件时,它们将被调用。

如果感兴趣,请参考this page关于回调函数。

答案 1 :(得分:0)

startElement在新标记出现时启动,当您关闭此标记时,会调用endElement。所以,如果你有这样的事情:

<jobs>
      <job>
          <id>4</id>
          ...
          ...
    </job>
</jobs>

第一个xml解析器打开jobs标记,然后打开job。完成后,他先拨打job,然后拨打jobs

相关问题