Galera, estou usando a classe XStream para gerar um xml de uma lista. Porém quando se tem acentuação (Ã) ele ta erro e acaba não permitindo abrir o xml no navegador, alguém sabe como coloco o charset “UTF-8”; para ele poder entender os caracteres?
Código
public String listToStringXML(List<EmitenteDetalhada> emitentes) {
String xml = "<emitentes>";
for (EmitenteDetalhada detalhada : emitentes) {
xml += new XStream().toXML(detalhada);
}
xml += "</emitentes>";
return xml;
}
Amigo, obrigado pela dica mas tentei o exemplo usado nesses tópicos porém não solucionou meu problema. Alguém pode me ajudar??
Meu código ficou assim, mas ainda não tenho a solução.
public String listToStringXML(List<EmitenteDetalhada> emitentes) {
String xml = "<emitentes>";
//"<?xml version=\"1.0\" encoding=\"UTF-8\" ?>"
try {
XStream stream = new XStream(new DomDriver("UTF-8"));
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
Writer writer = new OutputStreamWriter(outStream, "UTF-8");
for (EmitenteDetalhada detalhada : emitentes) {
stream.toXML(detalhada,writer);
xml += outStream.toString("UTF-8");
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
xml += "</emitentes>";
return xml;
}
Obs: Imprimir na tela o
System.out.println(new OutputStreamWriter(outStream,"UTF-8").getEncoding());
E me resultou em UTF8