none
Varrer xml quando os atributos do arquivo não seguem um padrão. RRS feed

  • Pergunta

  • Boa tarde,

    Tenho alguns retornos vindos do web service, mas os atributos das tags nem sempre são iguais (segue exemplo).
    Preciso setá-los em uma classe para exibir no form, consegui fazer a exibição quando o retorno está em um padrão de tags, se o cliente não possuir algum atributo no seu xml apresenta erro.

    Sabem como consigo esse retorno não tendo um padrão ?
    Se o atributo não existir apresentar o campo em branco "", mas retornar os atributos existentes no xml 

    Segue exemplos dos xml e do meu código c#

    <cliente nome="Jose antonio lima">
    <cpf origem="bahia, numero="1234"/>
    <situacao="REGULAR" data="2015-06-25"/>
    </cpf>
    </cliente>
    


    <cliente nome="Joao Paulo Costa" sexo="Masculino" signo="Escorpiao"><cpf origem="Sao Paulo", numero="1234"/><situacao="REGULAR" data="2015-06-25"/></cpf></cliente>

    Exemplo classe c#

            public Cliente LoadCliente(string xmlCliente)
            {
                Cliente cliente = new Cliente();
    
                var xmlDoc = new XmlDocument();
                xmlDoc.LoadXml(xmlCliente);
    
                var xnCliente = xmlDoc.GetElementsByTagName("Cliente");
    
    
                foreach (XmlNode xn in xnCliente)
                {
                    
                    cliente.Nome = xn.Attributes["nome"].Value;
                  cliente.NomeMae = xn.Attributes["nome-mae"].Value;
    
                    cliente.Sexo = xn.Attributes["sexo"].Value;
                    cliente.RG = xn.Attributes["numero-rg"].Value;
                    cliente.Signo = xn.Attributes["signo"].Value;


    quinta-feira, 25 de junho de 2015 21:30

Respostas

Todas as Respostas