none
Leitura e edição de arquivo XML RRS feed

  • Discussão Geral

  • Olá pessoal, como vai? Tenho um pequeno sisteminha que readaptei da internet onde a intenção é:

    - Abrir arquivos XML e editálos;

    - Salvar estes arquivos com encoding UTF-8;

    - Abrir na função JUNTAR ARQUIVOS dois XML's juntos para analisar, mas salvá-los separadamente;

    Ocorre que quando clico em ABRIR ele abre normalmente e consigo ver tudo e editar, salvo normalmente mas no momento que salvo aparecem as tags no XML <PARAMS> <PARAMS />

    Também ocorre o fato de eu se estiver uma planilha aberta, ao clicar em abrir e selecionar outra planilha o sistema mistura as duas e ao salvar perco tudo.

    O código responsável por abrir tudo é:

    private void SaveBtn_Click(object sender, EventArgs e)
            {
                SaveFileDialog sfd = new SaveFileDialog();
                sfd.Filter = "XML|*.xml";
                if (sfd.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        XmlWriterSettings settings = new XmlWriterSettings();
                        settings.Encoding = Encoding.UTF8;
                        using (XmlWriter writer = XmlWriter.Create(sfd.FileName, settings))
                        {
                            ds.WriteXml(writer);
                            writer.Close();
                        }
                        //ds.Tables[0].WriteXml(sfd.FileName);
                        
                        }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex);
                    }
                }
            }

    Segue anexo o sistema TODO e também duas tabelas que podem ver o padrão que são selecionadas, sou extremamente leigo em programação e o que consegui adaptar foi lendo aqui na MSDN artigos sobre estes assuntos como XmlWrite.

    Preciso terminar ainda hoje este projetinho pois faz parte editar os XML's para entregar auditorias.

    Link para o arquivo: https://www.1drv.ms/u/s!Ami4BU-YGN1cmT8lGsgAK9_LOakF

    Alguém pode por favor me esclarecer o que devo fazer? 

    Muito obrigado


    quarta-feira, 28 de junho de 2017 20:02

Todas as Respostas

  • Alterei o código do botão de abrir, agora não vai aceitar misturar.

     private void OpenBtn_Click(object sender, EventArgs e)
            {
                OpenBtn.Enabled = false;
                OpenFileDialog ofd = new OpenFileDialog();
                ofd.Filter = "XML|*.xml";
                if (ofd.ShowDialog() == DialogResult.OK)
                {
                    try
                    {
                        XmlReader xmlFile = XmlReader.Create(ofd.FileName, new XmlReaderSettings());
                        ds.ReadXml(xmlFile);
                        dataGridView1.DataSource = ds.Tables[5].DefaultView;
                        
    
                    }
                    catch (Exception ex)
                    {
                        Console.WriteLine(ex);
                    }
                    
                }
                }

    Agora eu preciso apenas fazer um textbox ou algo assim que exiba o valor total das colunas selecionadas (quando forem double, int, etc)

    Alguém mais para ajudar?


    Obrigado

    sexta-feira, 30 de junho de 2017 23:02