I have a problem with XML datasource for Jasper Reports. When i use selectExpression in JRXmlDataSource constructor, everything works, but when i use queryString in .jrxml, i get no records.
working example:
JRXmlDataSource ds2 = new JRXmlDataSource(new FileInputStream(dataSourceFile), "/pages/page");
not working example:
JRXmlDataSource ds1 = new JRXmlDataSource(new FileInputStream(dataSourceFile));
<jasperReport>
<queryString language="xPath">
<![CDATA[/pages/page]]>
</queryString>
...
</jasperReport>
Data XML:
<?xml version="1.0" encoding="UTF-8"?>
<pages>
<page>
<firstname>X</firstname>
<lastname>Y</lastname>
</page>
<page>
<firstname>Z</firstname>
<lastname>V</lastname>
</page>
<page>
<firstname>B</firstname>
<lastname>S</lastname>
</page>
</pages>
I have found solution. Instead of passing a XML dataSource to
JasperFillManager, it can be passed an XML document like below. Now XPath in<queryString language="xPath">inside.jrxmltemplate works on passed document and that’s it what i want.