在我的 Eclipse 项目中,我试图将 xml 文件解析为字符串列表以显示在 jsp 文件中。
我的解析器与这段代码完美配合:
public class XMLReader{
public static void main(String [] args){
System.out.println(getXML());
}
public static String getXML(){
try{
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
XMLHandler handler = new XMLHandler(); // class I created extending DefaultHandler
saxParser.parse("file.xml",handler);
urls = handler.getXMLList();
}
catch(Exception e){
e.printStackTrace();
}
return urls.toString();
}
}
字符串列表根据需要打印到我的控制台。但是当我尝试重写方法以返回一个字符串以便我可以在我的 jsp 文件中使用它时:
public class XMLReader{
public String returnXML(){
return getXML().toString();
}
public List<String> getXML(){
...
}
}
我收到一个 java.io.FileNotFoundException。在我的控制台中,它显示 Eclipse 正在尝试在包含我的 eclipse.exe 的文件夹中查找该文件,而不是在我的工作区文件夹中。我已经在互联网上搜索了几个小时,但我不知道是什么导致在不同的文件夹中查找。我不确定是否使方法非静态或使用 jsp 文件会导致文件路径发生更改,但我只在 saxParser.parse(file,handler) 代码行遇到这个问题,而且我有不知道如何解决它。任何帮助都会很棒!