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