gpt4 book ai didi

jasper-reports - 带有 queryString 的 JRXmlDataSource 不提供任何记录

转载 作者:行者123 更新时间:2023-12-05 00:00:46 26 4
gpt4 key购买 nike

我对 Jasper Reports 的 XML 数据源有问题。当我使用 selectExpressionJRXmlDataSource构造函数,一切正常,但是当我使用 queryString 时在 .jrxml ,我没有记录。

工作示例:

JRXmlDataSource ds2 = new JRXmlDataSource(new FileInputStream(dataSourceFile), "/pages/page");

不工作的例子:
JRXmlDataSource ds1 = new JRXmlDataSource(new FileInputStream(dataSourceFile));

<jasperReport>
<queryString language="xPath">
<![CDATA[/pages/page]]>
</queryString>
...
</jasperReport>

数据 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>

最佳答案

我找到了解决方案。而不是将 XML 数据源传递给 JasperFillManager ,它可以传递一个 XML 文档,如下所示。现在 XPath 在 <queryString language="xPath">.jrxml模板适用于传递的文档,这就是我想要的。

Document document = JRXmlUtils.parse(JRLoader.getLocationInputStream(dataSourceFile));
params.put(JRXPathQueryExecuterFactory.PARAMETER_XML_DATA_DOCUMENT, document);
jasperPrint = JasperFillManager.fillReport(jasperReport, params);

关于jasper-reports - 带有 queryString 的 JRXmlDataSource 不提供任何记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9517045/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com