String ( Xml ) comparação

7 respostas
J

galera…estou tentando comparar duas strings…só que elas são strings xml, uma lida diretamente de um arquivo xml e depois eu a comparo com a mesma após sofrer uma serie de operações, ao retornar as operações, eu a comparo para ver se volto ao seu estado original stringXML01.equals(stringXML02) as strings estão iguais ( o nº de chars também permanece o mesmo…mas o equals me retorna somente false ( olhei o xml de cabo a rabo…esta igual…) será que terei que sair comparando nó por no para verificar se os arquivos estão iguais…alguma dica ??
valeu

7 Respostas

M

talvez tenha algum espaço em branco antes ou depois da string… ja tentou imprimir seus valores? as letras minusculas e maiusculas fecham? se quer comparar independente de case sensitive, use equalsIgnoreCase()

J

estou utilizando o equalsIgnoreCase() e já tentei até colocar um trim() para retirar os espaços em branco …mas nada…afffff

M

e tu ja imprimiu o valor das strings no console pra ver se são realmente iguais? :roll:

J

imprimi e ainda comparei no xmlSpy

M

ta… vamos por partes, tu quer comparar 2 strings, pela tua lógica elas devem ser iguais… bem, se tu imprimiu elas no console, viu q são iguais, e o equals() ta retornando false… bem, com certeza tem algo errado no teu código… pq isso é simplesmente impossível. :roll:

J

o pior de tudo…é que sei disso !!! mas não tenho ideia do que esta contecendo !!!Estou vacilando em algum ponto…?? bom o retante do codigo e muito grande pra ser colocado aqui !!

esse e meu codigo de comparação: if(retornoID.equalsIgnoreCase(retorno)){

xmlOrigem = formatXML(xmlOrigem);

retornoXML = formatXML(retornoXML);
if (xmlOrigem.equalsIgnoreCase(retornoXML)) {
      System.out.print(" %%%%%%%%% XMLs IGUAIS %%%%%%%%%%%%");
    }
    else {
      System.out.println(" %%%%%%%%% XML DIFERENTE DO XML ORIGEM %%%%%%%%%%%%");
      System.out.println(" %%%%%%%%% XML RETORNO EVGEN :" + retornoXML);
      System.out.println(" %%%%%%%%% XML ORIGEM        :" + xmlOrigem);
    }
  }
J

blz…consegui…o xml de leitura estava vindo com alguns lixos que não apareciam quando eu mandava printar no console ( \r )…ai eu fiz um metodo que pecorre toda a string e vai retirando os caracteres …valeu :wink:

Criado 3 de maio de 2005
Ultima resposta 4 de mai. de 2005
Respostas 7
Participantes 2