My jrxml file: <?xml version="1.0" encoding="UTF-8"?> <!-- Created using an evaluation version of JasperAssistant (http://www.jasperassistant.com) --> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Unnamed" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="30" bottomMargin="30"> <property name="com.jasperassistant.designer.DataSource" value="DBCompass"/> <property name="com.jasperassistant.designer.Grid" value="true"/> <property name="com.jasperassistant.designer.SnapToGrid" value="false"/> <property name="com.jasperassistant.designer.GridWidth" value="12"/> <property name="com.jasperassistant.designer.GridHeight" value="12"/> <queryString> <![CDATA[select * from Info_Log]]> </queryString> <field name="ACCESSED_URL" class="java.lang.String"/> <detail> <band height="452"> <elementGroup> <textField> <reportElement x="8" y="68" width="123" height="25"/> <textElement/> <textFieldExpression class="java.lang.String"><![CDATA[$F{ACCESSED_DATE}]]></textFieldExpression> </textField> </elementGroup> <staticText> <reportElement x="161" y="8" width="162" height="23"/> <textElement/> <text><![CDATA[Jasper Report Demo]]></text> </staticText> </band> </detail> </jasperReport> .java file: import java.sql.Connection; import java.sql.DriverManager; import java.util.*; import net.sf.jasperreports.engine.JasperCompileManager; import net.sf.jasperreports.engine.JasperExportManager; import net.sf.jasperreports.engine.JasperManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.design.JasperDesign; import net.sf.jasperreports.engine.xml.JRXmlLoader; import net.sf.jasperreports.view.JasperViewer; public class ViewJasper { @SuppressWarnings({ "deprecation", "unchecked" }) public static void main(String args[]){ try{ // First, load JasperDesign from XML and compile it into JasperReport System.out.println("++++"); JasperDesign jasperDesign = JRXmlLoader.load("new_report.jrxml"); System.out.println("--------"); net.sf.jasperreports.engine.JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); Map parameters = new HashMap(); parameters.put ("Report_Title", "DEMO JASPER REPORT"); // Third, get a database connection Class.forName("oracle.jdbc.driver.OracleDriver"); Connection conn = DriverManager.getConnection("URL","Username","password"); // Fourth, create JasperPrint using fillReport() method JasperPrint jasperPrint = JasperManager.fillReport(jasperReport,parameters, conn); // Or to view report in the JasperViewer //JasperExportManager.exportReportToPdfFile(jasperPrint,"I:\\test\\jreport.pdf"); JasperViewer.viewReport(jasperPrint); } catch(Exception e){ System.out.println(e); } System.out.println("success"); } } Error: ++++ Sep 28, 2010 4:32:13 PM org.apache.commons.digester.Digester error SEVERE: Parse Error at line 3 column 390: Document root element "jasperReport", must match DOCTYPE root "null". org.xml.sax.SAXParseException: Document root element "jasperReport", must match DOCTYPE root "null". at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195) at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384) at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318) at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.rootElementSpecified(XMLDTDValidator.java:1621) at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.java:1900) at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:764) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:1359) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$ContentDriver.scanRootElementHook(XMLDocumentScannerImpl.java:1317) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3095) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:922) at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205) at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522) at org.apache.commons.digester.Digester.parse(Digester.java:1647) at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:239) at net.sf.jasperreports.engine.xml.JRXmlLoader.loadXML(JRXmlLoader.java:226) at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:214) at net.sf.jasperreports.engine.JasperManager.loadXmlDesign(JasperManager.java:980) at Jasper.main(Jasper.java:21) net.sf.jasperreports.engine.JRException: org.xml.sax.SAXParseException: Document root element "jasperReport", must match DOCTYPE root "null". Need help