Tenho o seguinte código que gera um arquivo xml
Vector v = new ExecutarSql().consultaTodosContatos();
Object ob = v;
XMLEncoder encXML;
try
{
encXML = new XMLEncoder(new BufferedOutputStream(new FileOutputStream(
"C:\teste.xml")));
encXML.writeObject(v);
encXML.close();
}
catch (Exception e)
{
System.out.println("Erro: "+e);
}
Vector v = new ExecutarSql().consultaTodosContatos() - retorna uma colecao de array de String [2] contendo nome e tefone dos contatos
Meu código gera o seguinte xml:
<?xml version="1.0" encoding="UTF-8"?>
<java version="1.6.0_01" class="java.beans.XMLDecoder">
<object class="java.util.Vector">
<void method="add">
<array class="java.lang.String" length="2">
<void index="0">
<string>Uliana</string>
</void>
<void index="1">
<string>32487954</string>
</void>
</array>
</void>
<void method="add">
<array class="java.lang.String" length="2">
<void index="0">
<string>Paulo</string>
</void>
<void index="1">
<string>38452977</string>
</void>
</array>
</void>
<void method="add">
<array class="java.lang.String" length="2">
<void index="0">
<string>Uliana</string>
</void>
<void index="1">
<string>87898856</string>
</void>
</array>
</void>
<void method="add">
<array class="java.lang.String" length="2">
<void index="0">
<string>Uliana</string>
</void>
<void index="1">
<string>84658950</string>
</void>
</array>
</void>
</object>
</java>
Li alguns tópicos aqui sobre como ler XML da seguinte forma:
// percorre cada elemento usuario encontrado
for( int i=0; i<nl.getLength(); i++ ) {
Element tagUsuario = (Element) nl.item( i );
// pega os dados cadastrado para o usuario atual
int id = Integer.parseInt( tagUsuario.getAttribute( "id" ) );
String nome = getChildTagValue( tagUsuario, "nome" );
Integer idade = new Integer( getChildTagValue( tagUsuario, "idade" ) );
String email = getChildTagValue( tagUsuario, "email" );
// cria uma nova instancia do UsuarioGuj com os dados do xml
UsuarioGUJ usuarioGuj = new UsuarioGUJ( id, nome, idade, email );
// adiciona o usuario na coleção (vector) de usuários do guj
usuarios.addElement( usuarioGuj );
}
return usuarios;
}
Mas o problema é que não consegui usar esta solução porque não sei os nomes das tags geradas pelo XMLEncorder
Gostaria de saber como faço para obter um Vector através deste XML?
antecipadamente, Obrigado.