none
Leitura de xml RRS feed

  • Pergunta

  • Pessoal boa tarde,

    Como faço para ler um xml que tem varias quebras ex: o telefone e endereço pode ter n (0 ou varios), os exemplos que eu achei aqui mostra de xml simples


    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <CONSULTA_PF>
    <DOCUMENTO>30858480883</DOCUMENTO>
    <NOME>GABRIEL TEIXEIRA SILVA</NOME>
    <ID_UNIT>64668490</ID_UNIT>
    <CADASTROUNIT></CADASTROUNIT>
    <DADOS_CADASTRAIS>
    <CPF>30858480883</CPF>
    <NOME>GABRIEL TEIXEIRA SILVA</NOME>
    <NOME_ULTIMO />
    <SEXO>M</SEXO>
    <NOME_MAE>CLEUNICE TEIXEIRA SILVA</NOME_MAE>
    <DATANASC>06/09/1984</DATANASC>
    <IDADE>27</IDADE>
    <SIGNO>VIRGEM</SIGNO>
    <SITUACAO_RECEITA>REGULAR</SITUACAO_RECEITA>
    </DADOS_CADASTRAIS>
    <TELEFONES>
    <RANKING>12</RANKING>
    <TELEFONE>(11) 72228877</TELEFONE>
    </TELEFONES>
    <TELEFONES>
    <RANKING>10</RANKING>
    <TELEFONE>(11) 37811193</TELEFONE>
    </TELEFONES>
    <TELEFONES>
    <RANKING>10</RANKING>
    <TELEFONE>(11) 36852665</TELEFONE>
    </TELEFONES>
    <TELEFONES>
    <RANKING>10</RANKING>
    <TELEFONE>(11) 84730108</TELEFONE>
    </TELEFONES>
    <TELEFONES>
    <RANKING>10</RANKING>
    <TELEFONE>(11) 99166291</TELEFONE>
    </TELEFONES>
    <ENDERECOS>
    <RANKING>10</RANKING>
    <LOGRADOURO>R JOSE MACIEL NETO 315 BL B AP 43</LOGRADOURO>
    <NUMERO>315</NUMERO>
    <COMPLEMENTO>BL B AP 43</COMPLEMENTO>
    <BAIRRO>JD MARIA ROSA</BAIRRO>
    <CEP>06764040</CEP>
    <CIDADE>TABOAO DA SERRA</CIDADE>
    <UF>SP</UF>
    </ENDERECOS>
    <ENDERECOS>
    <RANKING>5</RANKING>
    <LOGRADOURO>AV ENG HEITOR ANTONIO EIRAS GARCIA 27 B</LOGRADOURO>
    <NUMERO>27</NUMERO>
    <COMPLEMENTO>B</COMPLEMENTO>
    <BAIRRO>JD ESMERALDA</BAIRRO>
    <CEP>05564200</CEP>
    <CIDADE>SAO PAULO</CIDADE>
    <UF>UF</UF>
    </ENDERECOS>
    <EMAILS>
    <RANKING>0</RANKING>
    <EMAIL>BIELLTS@IG.COM.BR</EMAIL>
    <PARTICULAR>NÃO</PARTICULAR>
    </EMAILS>
    <PARTICIPACAO_EMPRESA>
    <NOME>UNITFOUR TECNOLOGIA DA INFORMACAO LTDA </NOME>
    <ID_UNIT>64668490</ID_UNIT>
    <DOCUMENTO>07583629000150</DOCUMENTO>
    <PCT_PARTICIPACAO>33.34</PCT_PARTICIPACAO>
    <DATA_ENTRADA>11-07-2005</DATA_ENTRADA>
    </PARTICIPACAO_EMPRESA>
    <PARTICIPACAO_EMPRESA>
    <NOME>UNITFOUR MARKETING LTDA</NOME>
    <ID_UNIT>64668490</ID_UNIT>
    <DOCUMENTO>10818056000101</DOCUMENTO>
    <PCT_PARTICIPACAO />
    <DATA_ENTRADA />
    </PARTICIPACAO_EMPRESA>
    </CONSULTA_PF>

    segunda-feira, 7 de abril de 2014 16:44

Respostas

  •             Pessoa myPessoa = new Pessoa();
                
                string sCaminhoDoArquivo = @"D:\ARQUIVOS_XML\ARQUIVO.XML";


                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(sCaminhoDoArquivo); //Carregando o arquivo

                //Pegando elemento pelo nome da TAG
                XmlNodeList xnListTel = xmlDoc.GetElementsByTagName("TELEFONES");
    terça-feira, 8 de abril de 2014 17:13

Todas as Respostas

  • Olá,

    Qual a linguagem, C# ou VB.NET?

    E a plataforma, é ASP.NET, Win Forms?


    Herbert Lausmann

    segunda-feira, 7 de abril de 2014 17:00
  • C# ASPNET

    segunda-feira, 7 de abril de 2014 17:11
    • Sugerido como Resposta Herbert Lausmann terça-feira, 8 de abril de 2014 18:28
    segunda-feira, 7 de abril de 2014 17:21
  • sim, valeu, mais deixa eu perguntar esse arquivo meu ai da forma que esta, ele esta com erro concordam comigo... não tem nada que me informe qual é indice dos endereçso, das tag's que repetem
    segunda-feira, 7 de abril de 2014 20:09
  • sim, valeu, mais deixa eu perguntar esse arquivo meu ai da forma que esta, ele esta com erro concordam comigo... não tem nada que me informe qual é indice dos endereçso, das tag's que repetem
    XML é assim mesmo, ta certinho.

    Herbert Lausmann

    segunda-feira, 7 de abril de 2014 20:49
  • Herbert bom dia, igual aqui a tag telefone, tem 5 telefones, mais pode vir mais como pode vir nenhum, como eu vou saber isso, pra colocar na minha classe de pessoa.

    <TELEFONES>
    <RANKING>12</RANKING>
    <TELEFONE>(11) 72228877</TELEFONE>
    </TELEFONES>
    <TELEFONES>
    <RANKING>10</RANKING>
    <TELEFONE>(11) 37811193</TELEFONE>
    </TELEFONES>
    <TELEFONES>
    <RANKING>10</RANKING>
    <TELEFONE>(11) 36852665</TELEFONE>
    </TELEFONES>
    <TELEFONES>
    <RANKING>10</RANKING>
    <TELEFONE>(11) 84730108</TELEFONE>
    </TELEFONES>
    <TELEFONES>
    <RANKING>10</RANKING>
    <TELEFONE>(11) 99166291</TELEFONE>
    </TELEFONES>

    terça-feira, 8 de abril de 2014 11:45
  • Veja se esse exemplo ajuda:

                System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
                doc.Load("caminho_do_arquivo");
                System.Xml.XmlNodeList telefones = doc.GetElementsByTagName("TELEFONES");
                if (telefones != null && telefones.Count > 0)
                {
                    //Aqui o código caso haja 1 ou mais telefones...
                }
                else
                {
                    //Aqui o código caso não haja nenhum telefone...
                }


    Herbert Lausmann

    • Sugerido como Resposta Herbert Lausmann terça-feira, 8 de abril de 2014 18:28
    terça-feira, 8 de abril de 2014 15:17
  •             Pessoa myPessoa = new Pessoa();
                
                string sCaminhoDoArquivo = @"D:\ARQUIVOS_XML\ARQUIVO.XML";


                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(sCaminhoDoArquivo); //Carregando o arquivo

                //Pegando elemento pelo nome da TAG
                XmlNodeList xnListTel = xmlDoc.GetElementsByTagName("TELEFONES");
    terça-feira, 8 de abril de 2014 17:13