FWK005 parse may not be called while parsing

最近在使用javax.xml.parsers.DocumentBuilder解析xml文件的时候偶尔会出错:

org.xml.sax.SAXException: FWK005 parse may not be called while parsing.

at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:263)

at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)

at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:208)

跟踪了一下代码,发现这个异常是在com.sun.org.apache.xerces.internal.parsers.DTDConfiguration.parse(DTDConfiguration.java:546)抛出来的。该段代码结构如下:

if(fParseInProgress) {

throw new XNIException("FWK005 parse may not be called while parsing.");

}

fParseInProgress = true;

// 解析xml文件

finally {

fParseInProgress = false;

}

从程序逻辑来看,如果当前DocumentBuilder对象正在转换文档,此时再次请求转

你可能感兴趣的:(parse)