在我的Eclipse項目中,我試圖將xml文件解析爲字符串列表以顯示在jsp文件中。無法將saxParser指向文件目錄
我的解析器使用此代碼工作完美:根據需要
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(文件,處理程序)代碼行,我有不知道如何解決它。任何幫助將是偉大的!
您的代碼如下所示: catch(Excdeption e){ 因此,您的解析器顯然不適用於此代碼。請張貼實際的代碼。 –
@EvanKnowles有幾個錯別字...感謝注意。解析器不會與代碼一起工作,當我嘗試返回一個String而不是執行System.out.println時,它會停止工作。 –
您的代碼不會顯示'file'的聲明,或者文件名的設置方式。這些事情可能很重要。 –