我想你的开发环境是多字节吧。给你写了一个例子:
char* xmlBuff; //保存XML的数据
int unicodeNum = MultiByteToWideChar(CP_UTF8, 0, xmlBuff, -1, null, 0); //预先得到转换后的长度
wchar_t* unicodeArr = new wchar_t[unicodeNUm + 1];
memset(unicodeArr,0,(unicodeNUm+1)*sizeof(wchar_t));
MultiByteToWideChar( CP_UTF8, 0, xmlBuff, -1, (LPWSTR)unicodeArr, unicodeNUm);
OutputFormat format=OutputFormat.createPrettyPrint();
format.setEncoding("utf-8");
XMLWriter writer = new XMLWriter( new FileWriter(new File("另存名.txt")),format);
writer.write(document);
writer.close();
晕,用那个解决了?那说明你一开始就没有解析正确啊!!!!
SAXReader类的读取是第一步就要的....
从xml读取出来的时候再进行一次转码就行了