您可以使用此字段声明:
<field name="element2Value" class="java.lang.String">
<property name="net.sf.jasperreports.xpath.field.expression" value="/element1/element2"/>
</field>
完整的 jrxml 文件:
我使用了这个数据源适配器:
<?xml version="1.0" encoding="UTF-8" ?>
<xmlDataAdapter class="net.sf.jasperreports.data.xml.XmlDataAdapterImpl">
<name>two_level_xml</name>
<dataFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="repositoryDataLocation">
<location>C:\path\simple_xml.xml</location>
</dataFile>
<useConnection>true</useConnection>
<namespaceAware>false</namespaceAware>
<selectExpression/>
<locale xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:java="http://java.sun.com" xsi:type="java:java.lang.String">ru_RU</locale>
<timeZone xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:java="http://java.sun.com" xsi:type="java:java.lang.String">Europe/Moscow</timeZone>
</xmlDataAdapter>
还有这个 xml:
<element1 attrib1="a1">
<element2>text</element2>
</element1>
JSS 处生成的结果(输出):