XML数据集
1. 概述
XML数据集,就是指数据源是一系列的xml文件。而我们就是要将这些文件作为数据来源,用FineReport来呈现这些数据,并做相应的数据分析。
在%FR_HOME%\WebReport\WEB-INF\reportlets目录下新建frtest.xml,其内容如下,下面我们来看下文本数据集的制作步骤:
注:如果要使用已存在的xml文件作为数据集,需把相应的文件拷贝到%FR_HOME%\WebReport\WEB-INF\reportlets 目录下。
2. 定义文件数据集
下面我们来为大家介绍下如何定义文件数据集。
点击数据集下面的加号,选择文件数据集,如下图:
然后弹出文件数据集对话框,将文件类型选择:XML,点击本地文件后面的
按钮,选择已经存在的frtest.xml文件,右侧的 面板即会自动刷新获取xml中的所有节点信息,并将节点以树状结构的形式显示出来,如下图:<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book>
<author>J K.Rowing</author>
<title>HMWHERE</title>
<author>J K.Rowing</author>
<author>J K.Rowing</author>
</book>
<book>
<author>J K.Rowing</author>
<author>J K.Rowing</author>
<author>J K.Rowing</author>
<price>19</price>
</book>
</bookstore>
2.2 节点选择
FineReport的xml文件数据集支持将文件中的所有节点以树状结构显示出来,但是不能像存储过程一样返回多个结果集,将每个节点的数据均显示在一个数据集中,一次只能返回一个子节点中的所有数据,想要显示哪个子节点的信息就选中该子节点即可,最后数据来源于选中节点的子节点、子节点的子节点直至叶子节点。
<?xml version="1.0" encoding="GBK"?>
<PickBillPrintEntity>
<modifyTime>2013-08-11</modifyTime>
<exprossCode>STO</exprossCode>
<expressName>申通E物流</expressName>
<pickDetail>
<PrintPickDetailEntity>
<address>陈村镇白陈路锦龙工业小区</address>
<city>佛山市</city>
<contactName>曹淑仪</contactName>
<deliveryOrderNo>668267627204339729</deliveryOrderNo>
<district>顺德区</district>
<prov>广东省</prov>
<qty>1.0</qty>
</PrintPickDetailEntity>
<PrintPickDetailEntity>
<address>陈村镇白陈路锦龙工业小区</address>
<city>佛山市</city>
<contactName>曹淑仪</contactName>
<deliveryOrderNo>668267627204339729</deliveryOrderNo>
<district>顺德区</district>
<prov>广东省</prov>
<qty>2.0</qty>
</PrintPickDetailEntity>
</pickDetail>
<packDetail>
<PrintPackEntity>
<baocai>SJZX*1</baocai>
<itemCode>694852470667309</itemCode>
<goodDese>电话</goodDese>
<marksNumber>220cm*240cm</marksNumber>
<qty>1.0</qty>
<orderCount>1.0</orderCount>
<skuCount>1.0</skuCount>
</PrintPackEntity>
<PrintPackEntity>
<baocai>SJZX*1</baocai>
<itemCode>694852471667309</itemCode>
<goodDese>时光印记</goodDese>
<marksNumber>220cm*240cm</marksNumber>
<qty>1.0</qty>
<orderCount>1.0</orderCount>
<skuCount>1.0</skuCount>
</PrintPackEntity>
<PrintPackEntity>
<baocai>SJZX*1</baocai>
<itemCode>694852472667309</itemCode>
<goodDese>维多利亚</goodDese>
<marksNumber>200cm*230cm</marksNumber>
<qty>2.0</qty>
<orderCount>1.0</orderCount>
<skuCount>2.0</skuCount>
</PrintPackEntity>
<other>
<otherNo>1</otherNo>
</other>
</packDetail>
</PickBillPrintEntity>
注:如果编码类型选择UTF-8,预览的时候中文字符可能会出现乱码,这时你需将编码类型换成GBK或其他类型即可。
其返回数据集中的数据遵循以下五个规则:
1、选中的节点只有叶子节点,返回的数据集字段为叶子节点的并集;
示例中只有一个子节点Customers,我们这里选中父节点frtest,子节点Customers或者叶子节点的任何一个,其返注回的结果都一样,那么就选中Customers子节点,点击
按钮,如下图:设置完后,可以看到模板数据集中会增加一个名为'File1'的数据集,如下图:
3. 动态XML数据集
其制作步骤与Excel数据集相同。
4. 远程XML数据集
远程XML数据集有两种:第一种是通过jsp调用,其实现思路与Excel数据集相同,详细请参考远程Excel数据集;第二种是直接通过URL调用XML,下面我们来介绍第二种的实现。
4.1 直接调用XML文件
直接调用xml文件,可以通过在url中输入:http://ip:端口/应用名称/xml文件来调用。
假设tomcat环境下的WebReport工程目录下存在上面示例中用的frtest.xml,下面可以在URL中输入:http://localhost:8075/WebReport/frtest.xml,如下图所示:
5. 注意事项
附件列表
标签:
已验证
文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201)