Pessoal estou tendo problemas para abrir um XML com campos acentuados. Para o processo de geração e leitura do XML eu utilizo o XStream, porém não sei se tem como mudar o padrão do XML, tipo UTF-8 ou algum ISO***…
Qualquer dica para gerar XML com XStream para resolver o problema dos acentos, fico grato!
Enfim, passa um trecho do seu XML (com o cabeçalho). Deixa eu dar uma olhada.
Outra coisa. Se eu fosse vc, eu considerava usar outra biblioteca p/ trabalhar com XML. Gosto muito do Simple XML http://simple.sourceforge.net/
A questão de mudar de Framework iria implicar em mudanças muito grandes entre meu cliente/servidor. Preciso fazer o máximo para manter este framework. Mas irei dar uma olhada para ver se consigo fazer a troca de biblioteca.
Dom4JDriver dom = new Dom4JDriver();
OutputFormat format = new OutputFormat(); //format.setEncoding(“UTF-8”);
format.setEncoding(“ISO-8859-1”);
format.setNewLineAfterDeclaration(false);
format.setNewlines(true);
dom.setOutputFormat(format);
mesmo trocando entre UTF-8 e ISO**** o erro acontece:
ERRO: 08-27 13:02:58.332: ERROR/INFO(246): : Error on line 28 of document : At line 28, column 8: not well-formed (invalid token) Nested exception: At line 28, column 8: not well-formed (invalid token)
Mas é ai que está.
Não adianta mudar o atributo encoding se o arquivo estiver sendo salvo em outro encoding.
Pq está gerando o xml assim? Vc não usa o XStream? Pq não usa ele para serializar tbm?
Cara, eu disse acima… eu uso no CLIENTE e no SERVIDOR o XStream.
A diferença de usar o DOM4J é para tirar as quebras de linhas e mudar o Encoding:
Dom4JDriver dom = new Dom4JDriver();
OutputFormat format = new OutputFormat();
format.setEncoding("ISO-8859-1");
format.setNewLineAfterDeclaration(false);
format.setNewlines(true);
dom.setOutputFormat(format);
xstream = new XStream(dom);
Agora realmente tenho certeza que o Encoding é “ISO-8859-1”…
[quote=dcbasso]Cara, eu disse acima… eu uso no CLIENTE e no SERVIDOR o XStream.
A diferença de usar o DOM4J é para tirar as quebras de linhas e mudar o Encoding:
Dom4JDriver dom = new Dom4JDriver();
OutputFormat format = new OutputFormat();
format.setEncoding("ISO-8859-1");
format.setNewLineAfterDeclaration(false);
format.setNewlines(true);
dom.setOutputFormat(format);
xstream = new XStream(dom);
Agora realmente tenho certeza que o Encoding é “ISO-8859-1”… [/quote]
Só se você disse no seu outro post, pq nesse vc não explicou isso. :?
Se disse, devo estar ficando cego.
Não tem como você codificar suas Strings? Por exemplo, “é” viraria & eacute; (sem o espaço entre o “&” e o “eacute;”) e assim por diante?
Cara, acho que tem funções prontas no oracle para resolver isso!
Eu fiz uma alteração no campo lá, tirei os acentos e o cliente abriu sem reclamar!
Só por deus mesmo!
Complicadoooo!!!
[quote=dcbasso]Cara, acho que tem funções prontas no oracle para resolver isso!
Eu fiz uma alteração no campo lá, tirei os acentos e o cliente abriu sem reclamar!
Só por deus mesmo!
Complicadoooo!!![/quote]
Pois é, o problema são os acentos mesmo e como o arquivo está sendo gerado.
Se você conseguir codificar suas Strings como falei, você resolve.