我的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风格做?任何解决方案都适合我。
答案 0 :(得分:1)
我找到了答案。 您可以在XPATH表达式中使用函数 last()作为指向here。因此,要在我的示例中获取las地址,只需要修改表达式:
<![CDATA[addresses/address[last()]/country/shortName]]>
它对我有用,我希望它也对你有帮助:)。