Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Jasper
Jasper Forum d'entraide sur Jasper Reports. Avant de poster --> FAQ Jasper, Tutoriels Jasper
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/03/2007, 10h22   #1
Invité de passage
 
Inscription : avril 2004
Messages : 11
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 11
Points : 2
Points : 2
Par défaut Xml datasource Probleme de lecture des données

Bonjour,

J'essaye de créer un rapport a l'aide de donnée xml

Mon code est le suivant:

Code :
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)

Code :
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>
Et mon rapport jrmxl:

Code :
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>
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

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
gazzall est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/03/2007, 11h18   #2
Invité régulier
 
Inscription : mai 2006
Messages : 10
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 10
Points : 9
Points : 9
Par défaut déclaration du field

Tu ne donnes que le nom de ton champ, il faudrait aussi donner sa description (chemin depuis la racine des données dans le XML)

<field name="tail_num" class="java.lang.String">
<fieldDescription><![CDATA[tail_num]]></fieldDescription>
</field>

Sinon, le reste m'a l'air ok.
blibla est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h33.


 
 
 
 
Partenaires

Hébergement Web