如何用InputStream作为BIRT的xml数据源
1、 下面是xml数据源:
<?xml version="1.0" encoding="utf-8" ?> <root> <user> <name>henry</name> <email>herny.zhang@chinasystems.com</email> </user > <user> <name>john</name> <email>john.zhong@chinasystems.com</email> </user > </root>
|
2、 在BIRT中使用这个数据源设计模板
3、 示例程序片断:
BufferedReader br = new BufferedReader(new FileReader("c:/da.xml")); String line=null; StringBuffer sb = new StringBuffer(); while((line=br.readLine())!=null){ sb.append(line); } br.close(); String strDsContent=sb.toString(); byte [] bContent = strDsContent.getBytes("utf-8"); ByteArrayInputStream bais= new ByteArrayInputStream(bContent); contextMap.put( EngineConstants.APPCONTEXT_PDF_RENDER_CONTEXT, renderContext ); contextMap.put( "org.eclipse.birt.report.data.oda.xml.inputStream", bais); contextMap.put( "org.eclipse.birt.report.data.oda.xml.closeInputStream", new Boolean(true)); task.setAppContext( contextMap );
|
4、 输出结果