Relates :
|
|
Relates :
|
ParseError will happen during StAX parse the follow xml: <?xml version="1.0"?> <root> <test>t</test> </root> Run the following java program: import java.io.File; import java.io.FileReader; import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLStreamReader; public class Test8169450 { public static void main(String[] args) throws Exception { File file = new File("test.xml"); /* DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setValidating(true); DocumentBuilder db = dbf.newDocumentBuilder(); db.parse(file); */ XMLStreamReader reader = XMLInputFactory.newFactory().createXMLStreamReader(new FileReader(file)); while (reader.hasNext()) { reader.next(); } } } It will throw exception: Exception in thread "main" javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,11] Message: The processing instruction target matching "[xX][mM][lL]" is not allowed. at java.xml/com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:596) at Test8169450.main(Test8169450.java:20) This issue should be caused by JDK-8069098.