【发布时间】:2023-04-01 02:08:01
【问题描述】:
我正在使用 JAXB 从 XML 生成 java 代码,它有一个枚举
<xs:simpleType name="color">
<xs:restriction base="xs:string">
<xs:enumeration value="Blue"/>
<xs:enumeration value="Green"/>
<xs:enumeration value="Yellow"/>
</xs:restriction>
</xs:simpleType>
我想为这个枚举添加更多颜色,比如红色和白色。我们不想更新 xsd 或生成的 XML/Java 代码,因为它们不属于我们,我们希望保持原样。
选项 1. 如果有一种读取 XSD 的方法,当它读取 xs:simpleType name="color" 时,我可以为枚举添加颜色,因此生成的 java 枚举具有所有需要的值
选项 2. 如果我可以编写一个适配器来帮助我在生成的 Enum 中添加值
我已经检查了 XMLAdapter,但在我的情况下覆盖它并没有帮助。由于它是一个枚举,我发现很难修改它,因为枚举在 Java 中是不变的
【问题讨论】:
-
第 1 步:从 XSD 生成 Java 源代码。第 2 步:编辑 Java 源代码。第 3 步:编译 Java 代码。完成!
-
:) 抱歉之前没有提到,我们不想更新 XSD 或生成的 xml,因为它们不属于我们,我们希望保持原样。编辑问题
-
这对我的评论建议有何影响?
标签: java xml xsd jaxb xml-binding