Xstream

public class Endereco {

private ArrayList rua;
private ArrayList numero;
private ArrayList cidade;
private ArrayList estado;
//gets e sets
[/code]

classe main


import XML.Agenda;
import XML.Endereco;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import java.util.ArrayList;
import java.util.List;

public class Main {

    public static void main(String args[]) {

        String xml;

        xml = "<agenda>" +
        "<nomePessoa>Angelina Jolie</nomePessoa>" +
        "<idade>35</idade>" +
        "<email>angelina@jolie.com</email>" +
        "<telefone>1742-5236</telefone>" +
        "<fax>6541-222</fax>" +
        "<endereco>" +
             "<rua>Rubião Júnior</rua>" +
            "<numero>2104</numero>" +
            "<cidade>São José do Rio Preto</cidade>" +
            "<estado>São Paulo</estado>" +
        "</endereco>" +
            
        "</agenda>";



        XStream x = new XStream(new DomDriver());

        x.alias("agenda", Agenda.class);
        //Agenda a = (Agenda) x.fromXML(xml);


         List<Agenda> list = new ArrayList<Agenda>();
       list=  (List<Agenda>) x.fromXML(xml);
      

      for (Agenda pessoa3 : list) {
         System.out.println("Recuperada: "+pessoa3.getNomePessoa());
      }




       // System.out.print(a.getNomePessoa());
      

    }
}

Alguém pode me ajudar?

Opa… ta ai a ajuda…

public class Endereco<String> { 

private ArrayList<String> rua; 
private ArrayList<String> numero; 
private ArrayList<String> cidade; 
private ArrayList<String> estado; 
//gets e sets 

classe main 

import XML.Agenda; 
import XML.Endereco; 
import com.thoughtworks.xstream.XStream; 
import com.thoughtworks.xstream.io.xml.DomDriver; 
import java.util.ArrayList; 
import java.util.List; 

public class Main { 

public static void main(String args[]) { 

String xml; 

xml = "<agenda>" + 
"<nomePessoa>Angelina Jolie</nomePessoa>" + 
"<idade>35</idade>" + 
"<email>angelina@jolie.com</email>" + 
"<telefone>1742-5236</telefone>" + 
"<fax>6541-222</fax>" + 
"<endereco>" + 
"<rua>Rubião Júnior</rua>" + 
"<numero>2104</numero>" + 
"<cidade>São José do Rio Preto</cidade>" + 
"<estado>São Paulo</estado>" + 
"</endereco>" + 

"</agenda>"; 



XStream x = new XStream(new DomDriver()); 

x.alias("agenda", Agenda.class); 
//Agenda a = (Agenda) x.fromXML(xml); 


List<Agenda> list = new ArrayList<Agenda>(); 
list= (List<Agenda> x.fromXML(xml); 


for (Agenda pessoa3 : list) { 
System.out.println("Recuperada: "+pessoa3.getNomePessoa()); 
} 




// System.out.print(a.getNomePessoa()); 


} 
} 

Ja 'e um comeco… coloquei o codigo dentro do CODE pra vc… agora explica qual o seu problema de verdade.

Valeu!

Por exemplo, se no meu documento xml tiver 2 ou mais tags de endereço.
como eu faço para minhas classes receberem esses endereços em um arrayList por exemplo
?


public class Agenda {



   private String nomePessoa;
   private int idade;
   private String email;
   private String  telefone;
   private String  fax;
   private String endereco;

ops faltou essa

Usando Alias eu acredito que funcione. Olhe um exemplo do proprio site do XStream: http://xstream.codehaus.org/alias-tutorial.html