Bom dia.
Estou fazendo um relatório que lê dados de um arquivo CSV. Para isto tive que criar uma conexão (data - conexão/Fonte da Dados/new). Ainda não usei nenhum arquivo XML mas a teoria é a seguinte:
Crie uma conexão ( Data - Conexão/Fonte de Dados/New)
Digite um nome para sua conexão
Escolha o tipo XML File DataSorce
Informe o nome do arquivo XML a ser usado
Informe a expressão para o select
Tome este arquivo XML como exemplo.
Davolio
Nancy<
Fuller<
Andrew
Leverli
Peacock
Margar
Uma expressão para selecionar todas as pessoas seria
/addressbook/category/person
Seriam retornados 4 nós
Davolio</lastn
Nancy</firstn
Fuller</lastna
Andrew</first
Leverling</las
Peacock</lastn
Margaret</fir
Para selecionar apenas as pessoas da categoria trabalho a expressão seria
/addressbook/category[@name = "work"]/person
O resultado seria
Peacock</lastn
Margaret</fir
Os campos terão que ser criados conforme tabela abaixo:
Fieldname Description Type
ID @id Integer
LASTNAME lastname String
FIRSTNAME forname String
CATEGORY ancestor::category/@name String
Depois é só montar o relatório e pronto. Como disse esta é a teoria. Não tenho experiencia com arquivos XML. Espero que estas informaçoes te ajudem.
Aproveitando… estou comproblemas para usar a Expressão de filtragem para um relatório que lê os dados de um arquivo CSV. Quando uso uma expressão do tipo:
$F{nome}.conpareTo("AAA")>0
Aparece o erro
net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: 1. Cannot cast from boolean to Boolean value = (java.lang.Boolean)(((java.lang.String)field_nome.getValue()).compareTo(“AAA”)>0);
Alguma dica???