我使用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)
答案 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。