Bom pessoal, esta é a conclusão de nosso artigo. Mostraremos aqui algumas alterações que foram realizadas no código postado. Realizei algumas modificações no Layout do programa exemplo:

Após realizar algumas brincadeiras com nosso programa exemplo, nosso arquivo XML será alterado, sendo adicionado uma nova estrutura para armazenar as informações cadastradas. Temos abaixo nosso arquivo XML, após o cadastro de 3 contatos podemos visualizar que foram adicionadas 3 linhas entre as tag's ROWDATA, cada uma das linhas corresponde a um registro novo adicionado.
<?xml version="1.0"
standalone="yes"?>
<DATAPACKET Version="2.0">
<METADATA>
<FIELDS>
<FIELD attrname="NOME" fieldtype="string"
WIDTH="60"/>
<FIELD attrname="DT_NASCIMENTO" fieldtype="date"/>
<FIELD attrname="DT_CADASTRO" fieldtype="date"/>
<FIELD attrname="TELEFONE" fieldtype="string"
WIDTH="14"/>
<FIELD attrname="CELULAR" fieldtype="string"
WIDTH="14"/>
<FIELD attrname="EMAIL" fieldtype="string"
WIDTH="40"/>
</FIELDS>
<PARAMS/>
</METADATA>
<ROWDATA>
<ROW NOME="PAMELA" DT_NASCIMENTO="19521002"
DT_CADASTRO="20031020" TELEFONE="2548874"
CELULAR="93712225" EMAIL="pamela@email.com"/>
<ROW NOME="MARIA" DT_NASCIMENTO="19520901"
DT_CADASTRO="20031018" TELEFONE="2526655"
CELULAR="97711254" EMAIL="maria@silva.com"/>
<ROW NOME="JOAQUIM" DT_NASCIMENTO="19820605"
DT_CADASTRO="20031018" TELEFONE="2325562"
CELULAR="93311454" EMAIL="joaquim@email.com"/>
</ROWDATA>
</DATAPACKET>
Analisando uma linha de dados
Na linha abaixo podemos ver nossos FIELDS (colunas) de nosso XML e logo ao lado entre aspas ("..") podemos visualizar a informações digitada pelo usuário, podemos também visualizar que as datas são armazenadas no formato YYYYMMDD sem as barras isso é realizado automaticamente pelo nosso DataSet que segue a instrução ISO-8859-1.
<ROW NOME="PAMELA" DT_NASCIMENTO="19521002" DT_CADASTRO="20031020" TELEFONE="2548874" CELULAR="93712225" EMAIL="pamela@email.com"/>
Após excluir uma linha
Caso você clique no botão excluir um método chamado Delete que irá modificar nosso arquivo XML, um fato interessante é que a informação será marcada como excluida na tag PARAMS CHANGE_LOG como no exemplo abaixo que indica que a linha 2 de nosso arquivo XML foi excluida e não deve ser interpretada pelo DataSet de nossa aplicação.
<?xml version="1.0"
standalone="yes"?>
<DATAPACKET Version="2.0">
<METADATA>
<FIELDS>
<FIELD attrname="NOME" fieldtype="string"
WIDTH="60"/>
<FIELD attrname="DT_NASCIMENTO" fieldtype="date"/>
<FIELD attrname="DT_CADASTRO" fieldtype="date"/>
<FIELD attrname="TELEFONE" fieldtype="string"
WIDTH="14"/>
<FIELD attrname="CELULAR" fieldtype="string"
WIDTH="14"/>
<FIELD attrname="EMAIL" fieldtype="string"
WIDTH="40"/>
</FIELDS>
<PARAMS CHANGE_LOG="2 0 2"/>
</METADATA>
<ROWDATA>
<ROW NOME="PAMELA" DT_NASCIMENTO="19521002"
DT_CADASTRO="20031020" TELEFONE="2548874"
CELULAR="93712225" EMAIL="pamela@email.com"/>
<ROW NOME="MARIA" DT_NASCIMENTO="19520901"
DT_CADASTRO="20031018" TELEFONE="2526655"
CELULAR="97711254" EMAIL="maria@silva.com"/>
<ROW NOME="JOAQUIM" DT_NASCIMENTO="19820605"
DT_CADASTRO="20031018" TELEFONE="2325562"
CELULAR="93311454" EMAIL="joaquim@email.com"/>
</ROWDATA>
</DATAPACKET>
Sandro Brigantini
Fazendo um comparação deste artigo com o artigo "Sintaxes estranhas no SQL Server publicado em Segunda-feira, 28 de outubro de 2002" na seção SQL Server, fiquei com dúvidas com relação a como "pegar" o xml que retorna de um comando "select for xml auto" no SQL Server.
Marcelo Sampei
Após a alteração do xml, podemos enviar via http o mesmo, onde deverá ser tratado no servidor de banco (Oracle) para persistir os registros alterados.
1- Como enviar somente os registros que foram alterados, ou seja, novos, alterados e excluídos?
2- No caso banco Oracle, como devemos tratar o xml no banco?
joao paulo
Rafael, vc foi muito claro até o último artigo mas como podemos efetuar operações de busca alteração e exclusão em arquivos xml ? principalmente a busca que ta sendo um saco !!!!
Nádia Félix Felipe da Silva
Não encontrei a parte 1 deste artigo, me envia por favor rafael.
Jean Silva
Bom ... procurei por artigos em XML e tambem tive problemas com este... aconselho a olharem em :
http://www.activedelphi.com.br/modules.php?op=modload&name=News&file=article&sid=233
Leandro Morais de oliveira
olá rafael.... apesar do datasource está ativo... ele dá um erro "dataset not in insert or edit mode"
obs.; esse erro acontece quanto eu tento inserir .. algum valor...
c eu utilizar o dbnavegator .. ele funciona normal...
tu faz ideia de que seja isso ?
2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.