Java XMLStreamReader-文件末尾会发生什么?

Java XMLStreamReader-文件末尾会发生什么?,java,xml,xmlstreamreader,Java,Xml,Xmlstreamreader,当像这样遍历XML文档时 while(streamReader.hasNext()){ streamReader.next(); if(streamReader.getEventType() == XMLStreamReader.START_ELEMENT){ System.out.println(streamReader.getLocalName()); } } 如果需要再次遍历XML文档,是否需要创建一个新的streamReader XMLSt

当像这样遍历XML文档时

while(streamReader.hasNext()){
    streamReader.next();
    if(streamReader.getEventType() == XMLStreamReader.START_ELEMENT){
        System.out.println(streamReader.getLocalName());
    }
}
如果需要再次遍历XML文档,是否需要创建一个新的streamReader

   XMLStreamReader streamReader =
        factory.createXMLStreamReader(reader);

我没有看到像“reset()”这样的方法将光标移回XML文件的开头

是的,此时应该创建一个新的读取器


如果需要多次遍历文档,那么首先是否确实要以流式方式解析文档,而不是将其加载到某个描述的DOM中?

否,因为将来XML文件可能会变得相当大,因此为了安全起见,我坚持使用StAX解析器。将其解析为DOM可能会占用太多内存。感谢您的回答。是否有其他XML流读取器对“先前”和/或“重置”功能具有额外支持?