3

我正在检查 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();
        }
4

1 回答 1

4

正如@Andreas 所评论的那样,在使用所有解析事件的过程中没有抛出任何异常表明格式良好。

具体来说,对于在被解析的 XML 中遇到的任何格式正确的错误XMLStreamReader.next()都会抛出一个错误。XMLStreamException如果解析进行到 whereXMLStreamReader.hasNext()返回false并终止while循环而没有触发任何XMLStreamExceptions,则可以确定 XML 格式正确。

于 2016-07-08T00:29:40.663 回答