I try fill my report using the following code from the Customers data example code: public void fill() throws JRException{ long start = System.currentTimeMillis(); Map params = new Hashmap(): Document document = JRXmlUtils.parse(JRLoader.getLocationInputStream("C:\data\dataExtraction.xml")); params.put(JRXpathQueryExecuterFactory.PARAMETER_XML_DATA_DOCUMENT, document); params.put(JRXpathQueryExecuterFactory.XML_DATA_DOCUMENT, "yyyy-MM-dd"); . . . . JasperFillManager.fillReportToFile("/build/reports/MyDataReport.jasper", params); } The JRLoader.getLocationInputStream method always failed to read the input file. I could not find any answers from searching the site. Could the versions of my environment be a problem? Thanks, Kim Here are my environment details: java version: jdk1.6.0_45; tomcat version: 5.5.7; jasper reports version: 5.0.0; ireport version: 5.0.4. Jrxml files are complied with ireport version 5.0.4. When trying to do the fill from Eclipse, I've got the following exception: net.sf.jasperreports.engine.JRException: Failed to parse the xml document at net.sf.jasperreports.engine.util.JRXmlUtils.parse(JRXmlUtils.java:80) at net.sf.jasperreports.engine.util.JRXmlUtils.parse(JRXmlUtils.java:149) at net.sf.jasperreports.engine.util.JRXmlUtils.parse(JRXmlUtils.java:136). . . . . Caused by: java.net.MalformedURLException at java.net.URL.<init>(URL.java:601) at java.net.URL.<init>URL.java:464). . . . at net.sf.jasperreports.engine.util.JRXmlUtils.parse(JRXmlUtils.java:72) . . .. . .55 more