XML 的 StAX 格式正确性检查

StAX well-formedness check of XML

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

一样,在消耗所有解析事件的过程中没有抛出任何异常将表明格式良好。

具体来说,XMLStreamReader.next() will throw a XMLStreamException for any well-formedness errors encountered in the XML being parsed. If parsing progresses to where XMLStreamReader.hasNext() returns false 并在没有触发任何 XMLStreamExceptions 的情况下终止你的 while 循环,你可以确定 XML 格式正确。