StAX格式良好的XML检查

我正在检查XML文档是否格式良好(仅语法检查)。 我没有validation任何架构。 我需要使用StAX来做到这一点:

我知道我必须解析文件,但是如何实现检查呢?

XMLInputFactory factory = XMLInputFactory.newInstance(); File f = new File(uploadfileName); FileInputStream inputStream = new FileInputStream(f); //Instantiate a reader parsing: XMLStreamReader reader=factory.createXMLStreamReader(inputStream); while(reader.hasNext()){ //check to be implemented?? reader.next(); } 

正如@Andreas评论的那样 ,在消费所有解析事件的过程中没有任何exception将表明良构 。

具体来说, XMLStreamReader.next()将为正在解析的XML中遇到的任何格式错误抛出XMLStreamException 。 如果解析进展到XMLStreamReader.hasNext()返回falsewhile没有触发任何XMLStreamExceptions情况下终止while循环,则可以确保XML格式正确。