我有一个包含非ascii字符的xsd方案。
我希望生成类,但强制xjc工具不将这些字符转换为unicode格式(\uXXXX),并保持它们的原样。
问题是,当将unicode表示形式的enum值放入所生成类的XmlEnumValue注释中时,JAXB unmarshaler无法映射适当的字段。当我手动将其转换为普通状态时,它工作得很好。
有什么建议吗?
发布于 2018-04-05 20:50:29
您可以使用以下代码将文件中的字符转换回本机表示形式:
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.StringEscapeUtils;
public void convertToNative(String filePath) throws IOException {
File file = new File(filePath);
FileWriter writer = new FileWriter(filePath + ".converted");
try {
String s = FileUtils.readFileToString(file, "utf-8");
s = StringEscapeUtils.unescapeJava(s);
writer.write(s);
} finally {
writer.close();
}
}
https://stackoverflow.com/questions/12182132
复制相似问题