利用dom解析xml文件时发现,如果xml文件不小心写错了格式,java会报SAXPaeseException,但是,回头将格式更正后,仍旧报这个错误,而事实上这个错误已经更正。如果将程序重启一次再次解析则解析正确。不知道这里头是什么原因,请教各位大牛。
public void readXMLDocument(String path){
    if(XMLCHeck.path.equals(path)&&dom!=null{
        return;
    }
    XMLCheck.path=path;
    File file=new File(path);
    try{
        dom=builder.parse(file);
    }catch(IOException e){
        e.printStackTrace();
    }catch(SAXException e){
        e.printStackTrace();
        JOptionPane.showMessageDialog(ExpImportUI.getInstance(),"XML解析错误,请检查XML文件,然后重试一遍("+e.getMessage()+")","XML解析错误",JOptionPane.ERROR_MESSAGE);
    }catch(IllegalArgumentException e){
        e.printStackTrace();
    }}

解决方案 »

  1.   

    能重现?貌似你第一次改了xml没保存.然后再次run的时候,ide提示保存未保存文件湖州,你习惯点了是,或者你很早以前设置了运行前自动保存......
      

  2.   

    xml文件我绝对保存了,因为如果我将程序关闭一次再执行,不会再出现这种错误。而且有个很奇怪的现象:如果我将配置文件挪到别的位置去或者改个名字,这时会正确解析,但是当我再挪回来的时候或者将名字改回来,它会仍旧报之前那个错误。
      

  3.   


    楼主说的这么神秘,呵呵,看看有什么流没close么?