我有一个xsd方案,其中包含非ascii字符。
我想生成类但强制xjc工具不要将这些字符转换为unicode格式(\ uXXXX),并保持原样。
麻烦的是当它将unicode表示中的枚举值放入生成的类的XmlEnumValue注释时,JAXB unmarshaler无法映射相应的字段。当我手动将其转换为普通状态时,它可以正常工作。
有什么建议吗?
答案 0 :(得分:0)
您可以使用此代码将文件中的字符转换回本机表示:
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();
}
}