Java iReport:使用XML数据源编译报告失败
我尝试在iReport上使用XML,所以我读了一篇 但当我编写一份报告时,我得到了以下错误:Java iReport:使用XML数据源编译报告失败,java,xml,jasper-reports,Java,Xml,Jasper Reports,我尝试在iReport上使用XML,所以我读了一篇 但当我编写一份报告时,我得到了以下错误: Error filling print... XPath compilation failed. Expression: net.sf.jasperreports.engine.JRException: XPath compilation failed. Expression: at net.sf.jasperreports.engine.util.xml.JaxenXPathExecuter
Error filling print... XPath compilation failed. Expression:
net.sf.jasperreports.engine.JRException: XPath compilation failed. Expression:
at net.sf.jasperreports.engine.util.xml.JaxenXPathExecuter.getXPath JaxenXPathExecuter.java:66)
at net.sf.jasperreports.engine.util.xml.JaxenXPathExecuter.selectNodeList(JaxenXPathExecuter.java:77)
at net.sf.jasperreports.engine.data.JRXmlDataSource.moveFirst(JRXmlDataSource.java:415)
at net.sf.jasperreports.engine.data.JRXmlDataSource.<init>(JRXmlDataSource.java:189)
at net.sf.jasperreports.engine.query.JRXPathQueryExecuter.createDatasource(JRXPathQueryExecuter.java:113)
at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1087)
at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:668)
at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1258)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:877)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:126)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:464)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:300)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:757)
at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:1003)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
Caused by: org.jaxen.XPathSyntaxException: Unexpected ''
at org.jaxen.BaseXPath.<init>(BaseXPath.java:118)
at org.jaxen.BaseXPath.<init>(BaseXPath.java:139)
at org.jaxen.dom.DOMXPath.<init>(DOMXPath.java:87)
at net.sf.jasperreports.engine.util.xml.JaxenXPathExecuter.getXPath(JaxenXPathExecuter.java:62)
... 15 more
Caused by: class org.jaxen.saxpath.XPathSyntaxException: : 0: Unexpected ''
at org.jaxen.saxpath.base.XPathReader.createSyntaxException(XPathReader.java:1084)
at org.jaxen.saxpath.base.XPathReader.pathExpr(XPathReader.java:190)
at org.jaxen.saxpath.base.XPathReader.unionExpr(XPathReader.java:1006)
at org.jaxen.saxpath.base.XPathReader.unaryExpr(XPathReader.java:994)
at org.jaxen.saxpath.base.XPathReader.multiplicativeExpr(XPathReader.java:943)
at org.jaxen.saxpath.base.XPathReader.additiveExpr(XPathReader.java:913)
at org.jaxen.saxpath.base.XPathReader.relationalExpr(XPathReader.java:860)
at org.jaxen.saxpath.base.XPathReader.equalityExpr(XPathReader.java:829)
at org.jaxen.saxpath.base.XPathReader.andExpr(XPathReader.java:809)
at org.jaxen.saxpath.base.XPathReader.orExpr(XPathReader.java:787)
at org.jaxen.saxpath.base.XPathReader.expr(XPathReader.java:780)
at org.jaxen.saxpath.base.XPathReader.parse(XPathReader.java:100)
at org.jaxen.BaseXPath.<init>(BaseXPath.java:113) ... 18 more
Print not filled. Try to use an EmptyDataSource...
填充打印时出错…XPath编译失败。表达式:
net.sf.jasperreports.engine.JRException:XPath编译失败。表达式:
位于net.sf.jasperreports.engine.util.xml.JaxenXPathExecuter.getXPath JaxenXPathExecuter.java:66)
位于net.sf.jasperreports.engine.util.xml.JaxenXPathExecuter.selectNodeList(JaxenXPathExecuter.java:77)
位于net.sf.jasperreports.engine.data.JRXmlDataSource.moveFirst(JRXmlDataSource.java:415)
位于net.sf.jasperreports.engine.data.JRXmlDataSource.(JRXmlDataSource.java:189)
在net.sf.jasperreports.engine.query.JRXPathQueryExecuter.createDatasource(JRXPathQueryExecuter.java:113)
位于net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1087)
位于net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:668)
位于net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1258)
位于net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:877)
位于net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:126)
位于net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:464)
位于net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:300)
位于net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:757)
位于com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:1003)
位于org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
原因:org.jaxen.XPathSyntaxException:意外“”
位于org.jaxen.BaseXPath。(BaseXPath.java:118)
位于org.jaxen.BaseXPath。(BaseXPath.java:139)
位于org.jaxen.dom.DOMXPath(DOMXPath.java:87)
位于net.sf.jasperreports.engine.util.xml.jaxexpathexecuter.getXPath(jaxexpathexecuter.java:62)
…还有15个
原因:类org.jaxen.saxpath.XPathSyntaxException::0:意外“”
位于org.jaxen.saxpath.base.XPathReader.createSyntaxException(XPathReader.java:1084)
位于org.jaxen.saxpath.base.XPathReader.pathExpr(XPathReader.java:190)
位于org.jaxen.saxpath.base.XPathReader.unionExpr(XPathReader.java:1006)
位于org.jaxen.saxpath.base.XPathReader.unaryExpr(XPathReader.java:994)
位于org.jaxen.saxpath.base.XPathReader.multiplativeexpr(XPathReader.java:943)
位于org.jaxen.saxpath.base.XPathReader.additiveExpr(XPathReader.java:913)
位于org.jaxen.saxpath.base.XPathReader.relationalExpr(XPathReader.java:860)
位于org.jaxen.saxpath.base.XPathReader.equalityExpr(XPathReader.java:829)
位于org.jaxen.saxpath.base.XPathReader.andExpr(XPathReader.java:809)
位于org.jaxen.saxpath.base.XPathReader.orExpr(XPathReader.java:787)
位于org.jaxen.saxpath.base.XPathReader.expr(XPathReader.java:780)
位于org.jaxen.saxpath.base.XPathReader.parse(XPathReader.java:100)
在org.jaxen.BaseXPath.(BaseXPath.java:113)…更多信息
打印未填写。尝试使用空数据源。。。
XML是:
红色
绿色
蓝色
我的jrxml:
有人能解释一下发生了什么吗?使用/palete/color作为查询字符串,并将字段描述更改为text()或“.”(删除引号)。XML更改 从
到
。。是的,仅此而已,我需要两天时间来解决您遇到的同一个问题-。-请解释添加
*
如何解决问题,以便其他人将来可以从您的答案中获得帮助。
<queryString language="xPath">
<![CDATA[]]>
</queryString>
<queryString language="xPath">
<![CDATA[*]]>
</queryString>