是否可以/是否有一种简单的方法来找到与START_ELEMENT相对应的结束标记(END_ELEMENT),如下所示?
while(reader.hasNext()){
XMLEvent event = reader.nextEvent();
if(event.getEventType() == XMLEvent.START_ELEMENT){
StartElement startElement = event.asStartElement();
System.out.println(startElement.getName().getLocalPart());
}
}
最佳答案
如果您是通过简单的方法来返回end元素的调用,那么答案是否定的。 SAX解析器是基于事件的解析器,因此它读取XML文件并创建事件。这些事件的来临取决于您如何处理这些事件并建立您的内存结构。
也许您应该使用DOM解析器,该解析器在内存中建立XML结构,并且可以在其中进行导航。或使用一些XML bindig(例如JAXB)将XML转换为Java对象,反之亦然。