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