JasperReports - xml数据源

时间:2013-10-03 08:41:41

标签: xml xpath jasper-reports ireport

我的xml具有以下结构作为数据源:

...
<addresses>
   <address>
       <!--... first address... -->
       <country>
           <shortName>Belarus</shortName>
           <name>Republic of Belarus</name>
       </country>
       ...
   </address>
   <address>
       ... more adresses ...
       <country>
           <shortName>Russia</shortName>
           <name>Russian Federation</name>
       </country>
       ... same fields ...
   </address>
</addresses>
...

所以我需要编写jrxml模板,在地址中获取 last 地址。当我使用

<field name="regAddress_country_nameRu" class="java.lang.String">
    <fieldDescription>
        <![CDATA[addresses/address/country/shortName]]>
    </fieldDescription>
</field>

它获得“白俄罗斯” - 来自第一个地址的价值,但如何从最后地址获取值? 我需要在 iReport 中进行,所以也许我可以用GUI风格做?任何解决方案都适合我。

1 个答案:

答案 0 :(得分:1)

我找到了答案。 您可以在XPATH表达式中使用函数 last()作为指向here。因此,要在我的示例中获取las地址,只需要修改表达式:

<![CDATA[addresses/address[last()]/country/shortName]]>

它对我有用,我希望它也对你有帮助:)