我正在检查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();
}
答案 0 :(得分:2)
作为@Andreas commented,在消费所有解析事件的过程中,没有任何异常会表明格式良好。
具体来说,XMLStreamReader.next()
将为正在解析的XML中遇到的任何格式错误抛出XMLStreamException
。如果解析进展到XMLStreamReader.hasNext()
返回false
并在没有触发任何while
的情况下终止XMLStreamExceptions
循环,则可以确保XML格式正确。