StAX格式良好的XML检查

时间:2016-07-07 22:01:23

标签: java xml xml-parsing stax well-formed

我正在检查XML文档的格式良好(仅语法检查)。我没有验证任何架构。 我需要使用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();
        }

1 个答案:

答案 0 :(得分:2)

作为@Andreas commented,在消费所有解析事件的过程中,没有任何异常会表明格式良好。

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