1

我有以下结构的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 模板来获取地址中的最后一个地址。当我使用

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

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

4

1 回答 1

1

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

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

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

于 2013-10-03T09:45:03.690 回答