我正在编写Java代码以将jrxml
文件(jasper报告)从XML datasource
呈现到PDF
输出,我已成功生成报告。
但是有一个问题,jrxml
的报告模板和xml数据源已上传到系统。当需要生成报告时,将挑选并呈现动态模板文件和xml数据源。
问题在于XPath,每个xml数据源都有自己的层次结构,因此是XPath
。
JRXmlDataSource xmlDataSource = new JRXmlDataSource("C:/Mazhar Hassan/contact-ds.xml","/datasource/contacts");
第二个参数"/datasource/contacts"
是用于报告的XPATH。它不能修复(硬编码),因为我还有其他数据源"/datasource/students"
或"datasource/schools/teachers"
等等。
如果我跳过第二个参数,则不呈现任何内容,就像没有检索到任何记录(无效的XPATH)。
JRXmlDataSource xmlDataSource = new JRXmlDataSource("C:/Mazhar Hassan/contact-ds.xml");
问:在java代码中没有特定的xpath,是否正确生成报告的原因,应该从JRXML中选择。
<queryString language="xPath">
<![CDATA[/datasource/contacts]]>
</queryString>