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()
返回false
并while
没有触发任何XMLStreamExceptions
情况下终止while
循环,则可以确保XML格式正确。