none
Importar dados de arquivo XML para Array RRS feed

  • Pergunta

  • Boa tarde,

    Tenho o seguinte código XML.

    <?xml version="1.0" encoding="utf-8"?>
    <Regras>
      <Regra Id="1" ExtensaoArquivo=".RET" PastaOrigem="C:\Nova pasta\" PastaDestino="C:\Nova pasta (4)\">
        <depara IdRegra="1" Codigo="1" De="FORN" Para="Fornecedor"/>
        <depara IdRegra="1" Codigo="2" De="3XKP" Para="AEFL"/>
        <depara IdRegra="1" Codigo="3" De="MOV" Para="Retorno"/>
      </Regra>
      <Regra Id="2" ExtensaoArquivo=".RET" PastaOrigem="C:\Nova pasta\" PastaDestino="C:\Nova pasta (2)\">
        <depara IdRegra="2" Codigo="1" De="FORN" Para="Fornecedor"/>
        <depara IdRegra="2" Codigo="2" De="4I8O" Para="Loja"/>
        <depara IdRegra="2" Codigo="3" De="MOV" Para="Retorno"/>
      </Regra>
    </Regras>

    Gostaria de carregar os dados dele para um array, sendo que necessito trazer todas as informações contidas no xml para o array.

            private void BuscarPorArquivosToolStripMenuItem_Click(object sender, EventArgs e)
            {
                LerArquivoXml arquivos = new LerArquivoXml("Teste", "Config.xml");
                XmlDocument xmlDocument = new XmlDocument();
                Regras criterios = new Regras();
                xmlDocument.Load(criterios.GetCaminhoRegras().ToString());
                XmlNode raiz = xmlDocument.SelectSingleNode(@"/Regras");
                //dgvListagemArquivos.Rows.Clear();
                foreach (XmlNode no in raiz.ChildNodes)
                {
                    string Id = no.Attributes["Id"].Value;
                    string ExtensaoArquivo = no.Attributes["ExtensaoArquivo"].Value;
                    string PastaOrigem = no.Attributes["PastaOrigem"].Value;
                    string PastaDestino = no.Attributes["PastaDestino"].Value;
                }
    
                XmlNode filho = xmlDocument.SelectSingleNode(@"/Regras/Regra");
                var ele = System.Xml.Linq.XElement.Load(criterios.GetCaminhoRegras().ToString());
                int cont = filho.SelectNodes(@"/Regras/Regra/depara").Count;
    
                string[,] depara = new string[cont*4, 4];
    
                for (int l = 0; l < cont*cont;)
                {
                    foreach (XmlNode child in filho.ChildNodes)
                    {
                        string IdRegra = child.Attributes["IdRegra"].Value;
                        string Codigo = child.Attributes["Codigo"].Value;
                        string De = child.Attributes["De"].Value;
                        string Para = child.Attributes["Para"].Value;
    
                        for (int c = 0; c < 4; c++)
                        {
                            depara[l, c] = IdRegra.ToString();
                            depara[l, c + 1] = Codigo.ToString();
                            depara[l, c + 2] = De.ToString();
                            depara[l, c + 3] = Para.ToString();
                            c = 4;
                            l += 1;
    
    
                        }
                    }
                }
    
            }

    Poderiam me ajudar ???

    No aguardo.

    sexta-feira, 18 de maio de 2018 17:04

Respostas

  • Boa tarde, MonteiroPaulo. Tudo bem?

    Obrigado por usar o fórum MSDN.

    Essa seria uma questão de "how to/Customização" ou "Break Fix/Erro"?

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 21 de maio de 2018 18:50
    Moderador
  • Boa tarde,

    Por falta de retorno esssa thread está encerrada.

    Se necessário, favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 4 de junho de 2018 20:31
    Moderador

Todas as Respostas

  • Boa tarde, MonteiroPaulo. Tudo bem?

    Obrigado por usar o fórum MSDN.

    Essa seria uma questão de "how to/Customização" ou "Break Fix/Erro"?

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 21 de maio de 2018 18:50
    Moderador
  • Boa tarde,

    Por falta de retorno esssa thread está encerrada.

    Se necessário, favor abrir uma nova thread.

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 4 de junho de 2018 20:31
    Moderador