anshukunal Posted September 28, 2010 Share Posted September 28, 2010 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 errorSEVERE: 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 Link to comment Share on other sites More sharing options...
Teodor Danciu Posted September 28, 2010 Share Posted September 28, 2010 Hi, You are running a new JRXML, which is XSD-based, with an old JR, which was DTD based.Please check your JAR versions. Before you do that, make sure you understand when you need to compile JRXML at runtime. In your case, you probably don't need:http://jasperforge.org/uploads/publish/jasperreportswebsite/trunk/faq.html#FAQ22 I hope this helps.Teodor Link to comment Share on other sites More sharing options...
anshukunal Posted September 28, 2010 Author Share Posted September 28, 2010 It worked.Thanks for your help. Link to comment Share on other sites More sharing options...
Teodor Danciu Posted January 7, 2011 Share Posted January 7, 2011 Hi, If you like to edit/design your reports inside Eclipse IDE, you should consider trying the Jaspersoft Studio plugin:http://jasperforge.org/projects/jaspersoftstudio I hope this helps.Teodor Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now