Can anybody explain me why this code does not compile:
import java.io.FileInputStream;
import javax.xml.stream.XMLEventReader;
import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.events.XMLEvent;
public class Test {
public static void main(String[] args) throws Exception {
XMLEventReader xr = XMLInputFactory.newInstance().createXMLEventReader(new FileInputStream("test.xml"));
XMLEvent e = xr.next();
}
}
output
Test.java:10: error: incompatible types
XMLEvent e = xr.next();
^
required: XMLEvent
found: Object
1 error
According to API XMLEventReader.next() returns XMLEvent.
Note: I used javac 1.7.0_03
The interface
XMLEventReaderextends the raw typeIterator, not the parameterized typeIterator<XMLEvent>, sonext()will returnObject. You should usenextEvent()instead, which does returnXMLEvent.