2

我有一个包含非 ascii 字符的 xsd 方案。

我想生成类,但强制 xjc 工具不要将这些字符转换为 unicode 格式 (\uXXXX),并保持原样。

麻烦的是,当它将 unicode 表示形式的枚举值放入生成类的 XmlEnumValue 注释时,JAXB 解组器无法映射适当的字段。当我手动将其转换为普通状态时,它可以正常工作。

有什么建议么?

4

1 回答 1

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();
    }
}
于 2018-04-05T12:50:28.707 回答