Bonjour,
J'essaye de créer un rapport a l'aide de donnée xml
Mon code est le suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 private JasperPrint generateReport() { String reportFileName = "reports/AircraftReport.jrxml"; String outFileName = "reports/AicraftData.pdf"; String xmlFileName = "reports/AircraftData.xml"; String recordPath = "/AircraftData/aircraft"; JasperPrint jasperPrint = new JasperPrint(); try { JRXmlDataSource xmlDataSource = new JRXmlDataSource(xmlFileName,recordPath); JasperReport jasperReport=JasperCompileManager.compileReport(reportFileName); jasperPrint=JasperFillManager.fillReport(jasperReport,new HashMap(), xmlDataSource); JasperExportManager.exportReportToPdfFile(jasperPrint, outFileName);
Mon datasource xml: ( is AircraftData.xml)
Et mon rapport jrmxl:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <?xml version='1.0' encoding='ISO-8859-1'?> <AircraftData> <aircraft> <tail_num>N263Y</tail_num> <aircraft_serial>T-11</aircraft_serial> <aircraft_model>39 ROSCOE TRNR RACER</aircraft_model> <engine_model>R1830 SERIES</engine_model> </aircraft> <aircraft> <tail_num>N4087X</tail_num> <aircraft_serial>BA100-163</aircraft_serial> <aircraft_model>BRADLEY AEROBAT</aircraft_model> <engine_model>R2800 SERIES</engine_model> </aircraft> <aircraft> <tail_num>N43JE</tail_num> <aircraft_serial>HAYABUSA 1</aircraft_serial> <aircraft_model>NAKAJIMA KI-43 IIIA</aircraft_model> <engine_model>R1830 SERIES</engine_model> </aircraft> </AircraftData>
J'arrive bien a avoir une sortie pdf mais le pobleme et que dans ce fichier je n'ai que des chaine de character null exemple
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd"> <jasperReport name="AircraftReport"> <field name="tail_num" class="java.lang.String" /> <field name="aircraft_serial" class="java.lang.String" /> <field name="aircraft_model" class="java.lang.String" /> <field name="engine_model" class="java.lang.String" /> <pageHeader> <band height="30"> <staticText> <reportElement x="0" y="0" width="69" height="24" /> <textElement verticalAlignment="Bottom" /> <text> <![CDATA[Tail Number: ]]> </text> </staticText> <staticText> <reportElement x="140" y="0" width="79" height="24" /> <text> <![CDATA[Serial Number: ]]> </text> </staticText> <staticText> <reportElement x="280" y="0" width="69" height="24" /> <text> <![CDATA[Model: ]]> </text> </staticText> <staticText> <reportElement x="420" y="0" width="69" height="24" /> <text> <![CDATA[Engine: ]]> </text> </staticText> </band> </pageHeader> <detail> <band height="30"> <textField> <reportElement x="0" y="0" width="69" height="24" /> <textFieldExpression class="java.lang.String"> <![CDATA[$F{tail_num}]]> </textFieldExpression> </textField> <textField> <reportElement x="140" y="0" width="69" height="24" /> <textFieldExpression class="java.lang.String"> <![CDATA[$F{aircraft_serial}]]> </textFieldExpression> </textField> <textField> <reportElement x="280" y="0" width="69" height="24" /> <textFieldExpression class="java.lang.String"> <![CDATA[$F{aircraft_model}]]> </textFieldExpression> </textField> <textField> <reportElement x="420" y="0" width="69" height="24" /> <textFieldExpression class="java.lang.String"> <![CDATA[$F{engine_model}]]> </textFieldExpression> </textField> </band> </detail> </jasperReport>
myreport.pdf:
null null nulll null
null null nulll null
Que dois je faire pour récupérer mes données xml:
Merci d'avance
Gazzall
Partager