Jasper Reports解析XML column-blob

时间:2015-03-05 12:46:45

标签: java xml postgresql jasper-reports

我使用postgresql作为数据库。在db中,我有一列包含带语言代码的xml。我想解析那个xml并通过报告语言获得价值。

select o.name,o.price from bookdefinations o o.name 包含xml值:

<?xml version="1.0" encoding="UTF-8"?>
<values>
    <en-us>en value</en-us>
    <es>es value</es>
    <ru>ru value</ru>
    <tr>tr value</tr>
</values>

我可以用jasper的表达式解析这个吗,或者我可以从db中选择解析(我不知道如何在select查询中获取报告语言并在select中解析xml)

2 个答案:

答案 0 :(得分:1)

jasperreport有一个xmldatasource,你可以做一个子报告并将blob作为xmldatasource发送到该子报告,然后你可以解析子报告中的xml并显示内容,我不确定你是否想要显示值或整个xml,如果它是一个报告,我猜你应该以一种漂亮的方式显示值,我的意思不是作为xml,检查这个链接

http://jasperreports.sourceforge.net/sample.reference/xmldatasource/

答案 1 :(得分:0)

您可以在选择期间直接在postgresql中执行此操作。 PostgreSql有一个XML Type和各种XML functions
如果您查看这些函数,您将看到xpath函数,该函数可用于在select语句期间从XML类型中提取数据。

有关xPath的参考,请查看tutorial from W3Schools