XStream X Campos Acentuados

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!

Você já criou esse tópico aqui:
http://www.guj.com.br/posts/list/216392.java

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/

[]´s

Então, segue exemplo do XML:

<?xml version="1.0" encoding="UTF-8"?>


609988
0
0
1
14:45
2010-05-10
fpicole
0
0.0
0.0
1058
0
0
0
0
�poca �nica

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.

Ali no campo “conlon” deveria ser: “Época Única”,

Bem, não acho que seriam tantas mudanças assim. Enfim, dê uma olhada.

Quanto ao XML, como vc está salvando o arquivo? Está salvando com o encoding correto?

Amigão, eu uso o xstream também e não tive problemas nenhum.

ps.: unico detalhe é que eu nao trabalho com extensao XML :wink:
vale a dica para vc testar :wink:

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:

<?xml version="1.0" encoding="ISO-8859-1"?> <vector> <ConducaoEnsaio> <codarq>609</codarq> <locseq>1</locseq> <numens>1</numens> <sigufs>PR</sigufs> <codcid>85800000</codcid> <nomcid>CASCAVEL</nomcid> <resfon>(00)0000-0000</resfon> <resmai>email@email.com</resmai> <resnom>Fernando Picole</resnom> <codres>988</codres> <conalt>0</conalt> <qtdadu>0</qtdadu> <mtzalt>1</mtzalt> <horalt>14:45</horalt> <datalt class="sql-date">2010-05-10</datalt> <logusu>usuario</logusu> <numlin>0</numlin> <cmplin>0.0</cmplin> <dislin>0.0</dislin> <codpai>1058</codpai> <crolin>0</crolin> <crocol>0</crocol> <arqamb>0</arqamb> <nulico>0</nulico> <conlon>Época Única</conlon>

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.

Em Java, basta dar uma pesquisada no google.
Esse link http://www.owasp.org/index.php/How_to_perform_HTML_entity_encoding_in_Java pareceu interessante.

Procure no Google por “html encode java” (sem aspas).

[]´s