[Resolvido] Exceção ao ler XML com Xstream

Segui este tutorial para gerar um XML.

Esse é o código da classe:

package testaxml.testaxtream;

import com.thoughtworks.xstream.XStream;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author 
 */
public class TestaXStream {

    public static void main(String[] args) {
        // cria um objeto xstram
        XStream xStream = new XStream();

        // cria alguns dados
        List contatos = new ArrayList(1);

        Pessoa paulo = new Pessoa();
        paulo.setNome("Paulo da Silva");
        paulo.setEmail("paulo@emaildopaulo.com.br");

        Telefone telefoneDoPaulo = new Telefone();
        telefoneDoPaulo.setDdd(051);
        telefoneDoPaulo.setNumero("1234-5678");
        paulo.setFoneComercial(telefoneDoPaulo);

        contatos.add(paulo);

        Pessoa pedro = new Pessoa();
        pedro.setNome("Pedro de Alcântara");
        pedro.setEmail("pedro@emaildopedro.com.br");

        Telefone telefoneDoPedro = new Telefone();
        telefoneDoPedro.setDdd(051);
        telefoneDoPedro.setNumero("1234-5679");
        pedro.setFoneComercial(telefoneDoPedro);


        contatos.add(pedro);

        // passando os dados de java para xml       
        System.out.println("\nContatos em XML:");
        String contatosEmXML = xStream.toXML(contatos);
        System.out.println(contatosEmXML);
        // passando os dados de XML para java
        List amigos = (List) xStream.fromXML(contatosEmXML);

        System.out.println("\nAmigos como Objeto Java:\n");
        for (Object amigo : amigos) {
            System.out.println("Nome: " + ((Pessoa) amigo).getNome());
            System.out.println(
                    "Telefone: ("
                    + ((Pessoa) amigo).getFoneComercial().getDdd()
                    + ") "
                    + ((Pessoa) amigo).getFoneComercial().getNumero());
            System.out.println("");
            
        }
    }
}

Consegui gerar o XML mas quando Vou transformar o XML em código Java obtenho a seguinte exceção:

Contatos em XML:
<list>
  <testaxml.testaxtream.Pessoa>
    <nome>Paulo da Silva</nome>
    <email>paulo@emaildopaulo.com.br</email>
    <foneComercial>
      <ddd>41</ddd>
      <numero>1234-5678</numero>
    </foneComercial>
  </testaxml.testaxtream.Pessoa>
  <testaxml.testaxtream.Pessoa>
    <nome>Pedro de Alcântara</nome>
    <email>pedro@emaildopedro.com.br</email>
    <foneComercial>
      <ddd>41</ddd>
      <numero>1234-5679</numero>
    </foneComercial>
Exception in thread "main" java.lang.NoClassDefFoundError: org/xmlpull/v1/XmlPullParserFactory
  </testaxml.testaxtream.Pessoa>
</list>
	at com.thoughtworks.xstream.io.xml.XppDriver.createParser(XppDriver.java:57)
	at com.thoughtworks.xstream.io.xml.AbstractXppDriver.createReader(AbstractXppDriver.java:54)
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:912)
	at com.thoughtworks.xstream.XStream.fromXML(XStream.java:903)
	at testaxml.testaxtream.TestaXStream.main(TestaXStream.java:48)
Caused by: java.lang.ClassNotFoundException: org.xmlpull.v1.XmlPullParserFactory
	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
	... 5 more
Java Result: 1

dá uma olhada nesse meu post, e ignora a parte do Hibernate: http://blog.camilolopes.com.br/tag/xstream/

Na classe: LerDadosXML pode ter o que você precisa, a diferença que uso um arquivo XML.

flw.

Resolvi o problema.

O artigo que citei acima pede que se use as livrarias xstream e xpp3_min, mas era necessário também a livraria xmlpull e isso não é dito no artigo. Elas podem ser encontradas neste link.

Apenas utilize a biblioteca xStream
XStream xstream = new XStream(new DomDriver());

Você teria uma exemplo mais detalhado?