Ajuda com List envolvendo XML

List amigos = (List) xstream.fromXML(contatosEmXML); Pessoa amigo = (Pessoa) amigos.get(0); Telefone foneDoAmigo = amigo.getFoneComercial();

por favor alguem pode me explicar o que esta acontecendo aqui não intendi o uso da lista eu sei o basico … porém acho que abstrairam um pouco para o que aprendi …

por favor ajuda …

Posta o erro que deu se não fica impossível. Mas uma coisa vc não fez, ver se a lista tinha algum elemento antes de tentar acessá-lo. Tem que fazer isso usando o método size da lista.

[code]package xml;

import java.util.ArrayList;
import java.util.List;

import com.thoughtworks.xstream.XStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import javax.swing.JOptionPane;

public class Main {

public static void main(String[] args) {
    String contatosEmXML;
    // Configurando XStream		
    XStream xstream = new XStream();
    //Criando Lista de Objetos qualquer
    List contatos = new ArrayList(1);
    // Criando alguns dados
    Pessoa P1 = new Pessoa();
    P1.setNome("Universidade Federal do ABC");
    P1.setEmail("ufabc@ufabc.edu.br");

    Pessoa P2 = new Pessoa();
    P2.setNome("Guilherme dos Santos Marques");
    P2.setEmail("guilherme@hotmail.com");

    
    
    Telefone foneDoP1 = new Telefone();
    foneDoP1.setDdd(11);
    foneDoP1.setNumero("0000-0000");

    Telefone foneDoP2 = new Telefone();
    foneDoP2.setDdd(11);
    foneDoP2.setNumero("111-111");

    P1.setFoneComercial(foneDoP1);
   
    P2.setFoneComercial(foneDoP2);
     
    contatos.add(P1);
    contatos.add(P2);

    // Passando os dados de Objetos Java para XML
    contatosEmXML = xstream.toXML(contatos);

    System.out.println("\nContatos em XML:");
    System.out.println(contatosEmXML);
    JOptionPane.showMessageDialog(null, "Amigo com Objeto em XML\n" + contatosEmXML);
   try{
    FileWriter xml =new FileWriter("Teste.XML");
    PrintWriter escreve=new PrintWriter(xml);
    escreve.print(contatosEmXML);
    escreve.flush();
    escreve.close();
   }catch(Exception X){
   System.out.print("Erro");
   }
       
    
    
    // Passando os dados de XML para Objetos Java
 
    //*/ 
    //modo explicado
    List amigos = (List) xstream.fromXML(contatosEmXML);
    Pessoa amigo = (Pessoa) amigos.get(0);
    Telefone foneDoAmigo = amigo.getFoneComercial();

    System.out.println("\nAmigo como Objeto Java:");
    System.out.println("Nome: " + amigo.getNome());
    System.out.println(
            "Fone Comercial: (" + foneDoAmigo.getDdd() + ") " + foneDoAmigo.getNumero());
    JOptionPane.showMessageDialog(null, "Amigo como Objeto Java\nNome: " + amigo.getNome() +
            "\nTelefone comercial: " + foneDoAmigo.getDdd() + "  " + foneDoAmigo.getNumero());
   /*/ 
    
   //*/
  

   //*/
}

}[/code]

Renzo vc já trabalhou com XStream

Alguem me explica como estão colocando os dados nas posições certas quando você transforma o XML em Objeto?

Então escrever um XML eu já consigo pelo XStream, porém eu não consigo tyransformar ele eem classes do java direito…
Esse arquivo ta funcionando só que a parte que esta ai no projeto é do tutorial a parte que mandei antes e não sei o que ele ta fazendo … não quero apenas copiar codigo tenho que intender o que se acontece …