Como criar um arquivo *.jasper com Dynamic Jasper?

Como faço para criar um arquivo *.jasper no Dynamic Jasper passando meu JRDataSource e o DynamicReport ? Só consegui gerar um arquivo *.pdf.

try {
			FastReportBuilder drb = new FastReportBuilder();
			DynamicReport dr;
			
			drb.addColumn("I.D.", "[0]", Integer.class.getName(), 50)
			        .addColumn("Nome", "[1]", String.class.getName(), 180)
					.addColumn("Perfil", "[2]", String.class.getName(), 280,					
							true);
			
			drb.setTitle("Teste de Colunas Jasper Report");
			drb.setSubtitle("Relatório gerado em: " + new Date())
					.setPrintBackgroundOnOddRows(true)
					.setUseFullPageWidth(true);
			drb.setPrintBackgroundOnOddRows(true);
			drb.setUseFullPageWidth(true);
			dr = drb.build();

			List results = retornaObjeto();
			
			JRDataSource ds = new JRBeanCollectionDataSource(results);
			JasperReport report = DynamicJasperHelper.generateJasperReport(dr,
					new ClassicLayoutManager(), new HashMap());

jasperPrint = JasperFillManager.fillReport(report, new HashMap(),ds);

			JasperExportManager.exportReportToPdfFile(jasperPrint, "DJExemplo" + ".pdf");
} catch(Exception e) {
            
}

Estou criando um arquivo *.xml com o meu JasperPrint. Mas no momento que compila o xml retorna NULL.

JasperPrint jasperprint = JasperFillManager.fillReport(report, new HashMap(),ds);
JasperExportManager.exportReportToXmlFile(jasperprint, "relatorio.xml", false);
JasperDesign design = JRXmlLoader.load("relatorio.xml");
JasperReport jr = JasperCompileManager.compileReport(design);