我有一些带有 xml 数据源的 jrxml 模板,下面可以看到
myField
,但是我需要重构它以使其成为有条件的,因为引入了新的 xml 格式,并且车主并不总是在同一个地方(/owner/name
vs ) ownerName
):
<field name="myField" class="java.lang.String">
<property name="net.sf.jasperreports.xpath.field.expression" value="string(./car/owner/name)"/>
</field>
并且应该以某种方式创建此字段以采用 /owner/name 或 OwnerName,具体取决于可用的内容。如何实现?
如果您的问题是拥有一个可以同时处理
./car/owner/name
和 ./car/ownerName
的 XPath,您可以使用:
string(./car/owner/name|./car/ownerName)
根据您是否可以使用 XPath 2.0,您还可以使用:
string(./car/(owner/name|ownerName))