msreale 7 de out. de 2003
/*
Não esquecer de configurar o classpath
commons-logging.jar
commons-collections.jar
commons-digester.jar
commons-beanutils.jar
xerces.jar
*/
import < a href = "http://java.io" > java . io </ a >.< em > ;
import org.apache.commons.digester. </ em > ;
import bean.Usuario ;
import java.util. * ;
public class TestUsuario
{
public static void main ( String [] args )
{
try
{
Digester digester = new Digester ();
digester . setValidating ( false );
digester . addObjectCreate ( "movto" , ArrayList . class );
digester . addObjectCreate ( "movto/usuario" , Usuario . class );
digester . addBeanPropertySetter ( "movto/usuario/id" , "id" );
digester . addBeanPropertySetter ( "movto/usuario/valor" , "valor" );
digester . addSetNext ( "movto/usuario" , "add" );
File input = new File ( "usuario.xml" );
ArrayList c = ( ArrayList ) digester . parse ( input );
Iterator it = c . iterator ();
while ( it . hasNext ())
{
Usuario usuario = ( Usuario ) it . next ();
System . out . print ( "id=" + usuario . getId ());
System . out . print ( "; Value=" + usuario . getValor ());
System . out . println ( "
");
}
}
catch( Exception exc )
{
exc.printStackTrace();
}
}
}
wbsouza 7 de out. de 2003
OK galera já conseguí
olha aí o codigo
// momento da criação dos objetos ...
digester . addObjectCreate & #40 ; & quot ; movto & quot ;, MovtoXML . class & #41 ;;
digester . addObjectCreate & #40 ; & quot ; movto / usuario & quot ;, UsuarioXML . class & #41 ;;
// seta o o valor pelos atributos ...
digester . addSetProperties & #40 ; & quot ; movto & quot ;, & quot ; id & quot ;, & quot ; id & quot ; & #41 ;;
// pega o valor pela exepressao XPath ...
digester . addBeanPropertySetter & #40 ; & quot ; movto / usuario / id & quot ;, & quot ; id & quot ; & #41 ;;
digester . addBeanPropertySetter & #40 ; & quot ; movto / usuario / valor & quot ;, & quot ; valor & quot ; & #41 ;;
// adiciona o usuario na collection ...
digester . addSetNext & #40 ; & quot ; movto / usuario & quot ;, & quot ; addUsuario & quot ; & #41 ;;
<vendendo-o-peixe>Leia meu artigo sobre commons-digester na MundoJava 1</vendendo-o-peixe>
Ok cv, estou com a revista. Não havia entendido algumas coisas, mas agora já rolou.
[]s, Welington B. Souza
paribe 29 de jan. de 2009
Duvida como usar digester pra ler xml
estou usando o main abaixo pra ler um xml faz não entra no iterator
nunca usei esse digester …
alguém pode me ajudar se estou fazendo certo …
abs
public class TestePersistenceXML {
/**
* @param args
* @throws SAXException
* @throws IOException
*/
public static void main ( String [] args ) throws IOException , SAXException {
// TODO Auto-generated method stub
Digester digester = new Digester ();
digester . setValidating ( false );
digester . addObjectCreate ( "persistence" , ArrayList . class );
digester . addObjectCreate ( "persistence/persistence-unit" , Persistence . class );
digester . addBeanPropertySetter ( "persistence/persistence-unit/description" , "description" );
digester . addBeanPropertySetter ( "persistence/persistence-unit/provider" , "provider" );
File input = new File ( "C:\\workspace\\TesteJPA\\build\\classes\\META-INF\\persistence.xml" );
ArrayList c = ( ArrayList ) digester . parse ( input );
Iterator it = c . iterator ();
while ( it . hasNext ()){
Persistence persistence = ( Persistence ) it . next ();
System . out . print ( "Descricao =" + persistence . getDescription ());
System . out . print ( "Provider =" + persistence . getProvider ());
System . out . println ( " " );
}
System . out . println ( "passo 4" );
}
}
----
public class Persistence {
private String persistence ;
private String persistence_unit ;
private String description ;
private String provider ;
private String className ;
private String properties ;
public String getPersistence () {
return persistence ;
}
-----
arquivo persistence . xml
& lt ; !-- ? xml version = "1.0" encoding = "UTF-8" ?--& gt ;
& lt ; persistence version = "1.0" xmlns = "http://java.sun.com/xml/ns/persistence" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" & gt ;
& lt ; persistence - unit name = "JPA9" & gt ;
& lt ; description & gt ;
Exemplo simples de persistência usando JPA .
& lt ; / description & gt ;
& lt ; provider & gt ; org . hibernate . ejb . HibernatePersistence & lt ; / provider & gt ;
& lt ; class & gt ; br . com . exemplojpa . modelo . Usuario & lt ; / class & gt ;
& lt ; class & gt ; br . com . exemplojpa . modelo . Usuario1 & lt ; / class & gt ;
& lt ; class & gt ; br . com . exemplojpa . modelo . NotaFiscal & lt ; / class & gt ;
& lt ; class & gt ; br . com . exemplojpa . modelo . NotaFiscalItem & lt ; / class & gt ;
& lt ; class & gt ; br . com . exemplojpa . modelo . Universidade & lt ; / class & gt ;
& lt ; class & gt ; br . com . exemplojpa . modelo . Centro & lt ; / class & gt ;
& lt ; class & gt ; br . com . exemplojpa . modelo . Turma & lt ; / class & gt ;
& lt ; class & gt ; br . com . exemplojpa . modelo . Aluno & lt ; / class & gt ;
& lt ; class & gt ; br . com . exemplojpa . modelo . Cliente & lt ; / class & gt ;
& lt ; class & gt ; br . com . exemplojpa . modelo . Estados & lt ; / class & gt ;
& lt ; class & gt ; br . com . exemplojpa . modelo . Cidades & lt ; / class & gt ;
& lt ; properties & gt ;
& lt ; property name = "hibernate.archive.autodetetion" value = "class" /& gt ;
& lt ; property name = "hibernate.dialect" value = "org.hibernate.dialect.MySQLDialect" /& gt ;
& lt ; property name = "hibernate.connection.driver_class" value = "com.mysql.jdbc.Driver" /& gt ;
& lt ; property name = "hibernate.connection.username" value = "root" /& gt ;
& lt ; property name = "hibernate.connection.password" value = "root" /& gt ;
& lt ; property name = "hibernate.connection.url" value = "jdbc:mysql://localhost:3306/exemplojpa" /& gt ;
& lt ; property name = "hibernate.show_sql" value = "true" /& gt ;
& lt ; property name = "hibernate.hbm2ddl.auto" value = "update" /& gt ;
& lt ; property name = "hibernate.format_sql" value = "true" /& gt ;
& lt ; / properties & gt ;
& lt ; / persistence - unit & gt ;