Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Como eu incluo um novo registro a um arquivo Xml?

Ah, eu consegui utilizando DOM Parser, só estou ajustando agora os detalhes.


Estou fazendo via Xml porque foi a estrutura que defini. Está ficando interessante, este é um dos últimos pontos a acertar que é inclusão de dados nos xml que já gerei com conteúdo vindo de um wcf.

Em quinta-feira, 30 de agosto de 2012 18h27min38s UTC-3, Leodufer escreveu:

Pura que Sofrer...? Usa sqlite

Send from my Android

El 30/08/2012 15:58, "Guilherme Bernardi" <gui.ber...@gmail.com> escribió:
Pessoal, estou desenvolvendo uma aplicação que se baseia em um Xml Data.

Meu Xml segue esta estrutura:

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<clientes>
<cliente4>
    <Empresa>1</Empresa>
    <Codigo>5</Codigo>
    <Nome>gsdf</Nome>
    <Endereco>ags</Endereco>
    <Bairro>gasd</Bairro>
</cliente4>
</clientes>

Então seria um Xml que armazenaria clientes, quando eu cadastrasse um novo cliente eu iria incluir as tags necessárias e adicionaria o registro.
Mas quando eu adiciono o novo registro utilizando o MODE_APPEND ele faz o seguinte:

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<clientes>
<cliente4>
    <Empresa>1</Empresa>
    <Codigo>5</Codigo>
    <Nome>gsdf</Nome>
    <Endereco>ags</Endereco>
    <Bairro>gasd</Bairro>
</cliente4>
</clientes><cliente6><TESTE>testando</TESTE></cliente6><cliente6><TESTE>testando</TESTE></cliente6><cliente6><TESTE>testando</TESTE></cliente6>

Estou utilizando o seguinte processo para a inclusão desse novo registro:

OutputStream is = openFileOutput("cliente.xml", MODE_APPEND);
            XmlSerializer serializer = Xml.newSerializer();
            serializer.setOutput(is, "UTF-8");
            serializer.startTag(null, "cliente6");
                serializer.startTag(null, "TESTE");
     serializer.text("testando");
     serializer.endTag(null, "TESTE");
            serializer.endTag(null,"cliente6");
            serializer.endDocument();
            serializer.flush();
            is.close();

Alguém sabe como eu poderia fazer isso?
Eu também estava pensando enquanto montava este tópico, vou verificar talvez de tirar a tag <clientes></clientes> e continuar a partir da tag individual de cada cliente, não sei se isso alteraria a integridade do xml.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário