• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Llaverola

[Resolvido] Como criar um ficheiro XML?

11 mensagens neste tópico

Ola pessoal, o meu problema é o seguinte:

Imaginem um formulario em ASP.NET que tem de ser preenchido pelo cliente em modo offline.

O que eu pretendo é:

O cliente preenche esse formulario, e depois de preencher é criado um ficheiro XML com toda a informação desse formulario por ele preenchida.

O objectivo é depois de criar esse ficheiro XML, qd estiver on-line faz-se a importação desses dados para a respectiva BD.

Alguem me pode ajudar?

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Existem diversas formas de criar ficheiros XML. Talvez a mais simples é criando uma datatable e depois exportar todo o conteudo.

Vê este exemplo que mostra alguma coisa sobre XML em VB (em C# é muito semelhante):

Introdução ao XML

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O objectivo é depois de criar esse ficheiro XML, qd estiver on-line faz-se a importação desses dados para a respectiva BD.

Como é que pensas fazer essa importação? Quem é que detecta a existência do ficheiro?

Segundo me lembro o javascript não acede a file sytem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

HUM..isso é uma boa ajuda...Podes por aki um exemplo de como se cria uma dataTable???????????

é que de facto tenho uma ideia...

Cada pergunta do questionario: fica um elemento NÓ do XML

por exemplo...

.WriteStartElement("Pergunta numero 1")

            .WriteElementString("pergunta", "AQUI É O K O UTILIZADOR RESPONDE A PERGUNTA")

            .WriteEndElement()

E cada vez que ele responde a uma pergunta é Criado um nó certo?

-----------------------------------------------------------------------------------

Ou então esta possibilidade:

.WriteStartElement("Questionario")

            .WriteElementString("pergunta 1", "AQUI É O K O UTILIZADOR RESPONDE A PERGUNTA 1")

            .WriteElementString("pergunta 2", "AQUI É O K O UTILIZADOR RESPONDE A PERGUNTA 2")

            .WriteElementString("pergunta 3", "AQUI É O K O UTILIZADOR RESPONDE A PERGUNTA 3")

            .WriteEndElement()

QUAL A MELHOR OPÇÃO?

obrigado, diz entao tb como criar uma Datatable..uM EXEMPLO...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Humm, queres em VB ou C# ? C# não é a minha melhor área  :P mas podes fazer mais ou menos isto:

            DataTable dt = new DataTable("Dados");
            dt.Columns.Add("ID", typeof(int)).AutoIncrement = true;
            dt.Columns.Add("Nome", typeof(string));
            dt.Columns.Add("Valor", typeof(decimal));

            DataRow dr1 = dt.NewRow();
            dr1["Nome"] = "jorge";
            dr1["Valor"] = 123;
            dt.Rows.Add(dr1);

            DataRow dr2 = dt.NewRow();
            dr2["Nome"] = "paulino";
            dr2["Valor"] = 456;
            dt.Rows.Add(dr2);

            dt.WriteXml("d:\\dados.xml");

Depois, para ler, só tens de criar uma datatable, ler o ficheiro e manipular linha a linha.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Só agora vi que querias como atributos.

Podes alterar apenas isto para ficar tudo numa linha só

            DataTable dt = new DataTable("Dados");
            dt.Columns.Add("ID", typeof(int)).ColumnMapping= MappingType.Attribute;
            dt.Columns.Add("Nome", typeof(string)).ColumnMapping= MappingType.Attribute;
            dt.Columns.Add("Valor", typeof(decimal)).ColumnMapping = MappingType.Attribute;
            dt.Columns[0].AutoIncrement = true;

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

alias, mas depois como passo essa dataTABLe  para xml?

A datatable ja tem um metodo para extrair o XML.

MAs podes colocar essa datatable num dataset e depois usar o GetXml do dataset para obteres os dados em XML

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora