dom4j解析xml文件,xml的编码是utf-8,里边的中文解析出来是乱码,怎么解决? 文件用ie打开是正常的。

2024-12-22 23:04:41
推荐回答(3个)
回答1:

我想你的开发环境是多字节吧。给你写了一个例子:
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);

回答2:

OutputFormat format=OutputFormat.createPrettyPrint();
format.setEncoding("utf-8");
XMLWriter writer = new XMLWriter( new FileWriter(new File("另存名.txt")),format);
writer.write(document);
writer.close();

晕,用那个解决了?那说明你一开始就没有解析正确啊!!!!
SAXReader类的读取是第一步就要的....

回答3:

从xml读取出来的时候再进行一次转码就行了