如何提取xml标签之间的文本?

问题描述 投票:0回答:1
xml xpath jasper-reports
1个回答
0
投票

解决方案

您可以使用此字段声明:

<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 处生成的结果(输出):

© www.soinside.com 2019 - 2024. All rights reserved.