【问题标题】:Java Stax Iterator API method implementationJava Stax Iterator API 方法实现
【发布时间】:2017-11-02 15:50:00
【问题描述】:

我知道如何利用 java stax iterator api 读取 xml 文档,但我想了解 XMLEvent 和 XMLEventReader 的实现。

XMLInputFactory xmlInFactory = XMLInputFactory.newFactory();
FileInputStream inStream = new FileInputStream(inFileName);
XMLEventReader xmlEventReader = xmlInFactory.createXMLEventReader(inStream);
while(xmlEventReader.hasNext()){            
    xmlEvent = xmlEventReader.nextEvent();
    if(xmlEvent.isStartElement()){              
            startElement = xmlEvent.asStartElement();
            ---more code---
     }
}

由于 XMLEventReader 和 XMLEvent 都是接口,hasNext()、isStartElement() 和 asStartElement() 方法的实现在哪里?如果没有 JDK 中的方法实现,这些方法如何工作?这个逻辑从何而来?

提前感谢您的帮助。

【问题讨论】:

    标签: java xml xml-parsing stax


    【解决方案1】:

    由于这些是接口,因此可以有多种实现。例如,在我的开发环境中,我有几个可用的 XMLEventReader 实现,例如:

    • com.sun.xml.stream.XMLEventReaderImpl

    • org.codehaus.stax2.XMLEventReader2

    其中第一个是 Sun pull XML 解析器,它分布在 JDK 中;第二个是第三方 Woodstox 解析器的一部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-31
      • 1970-01-01
      • 1970-01-01
      • 2020-01-24
      • 1970-01-01
      • 2018-01-27
      相关资源
      最近更新 更多