我有一个模式,其中元素名称在PascalCase中定义,例如:
<xsd:element name="EmployeeName" minOccurs="0" maxOccurs="1">
但我想这样生成:
@XmlElement(name = "employeeName")
我知道这听起来有些奇怪,但它允许我使用Jackson JAXB注释支持在camelCase中生成我的JSON。
这可能吗?
答案 0 :(得分:0)
是的,可以通过注释指令将XML元素名称更改为(几乎)所需的任何内容。
在这个例子中,&#34;价格&#34;被重命名为&#34; itemprice&#34;。 Java并不区分大小写,因此您的骆驼外壳将受到尊重。
//Example: Code fragment
public class USPrice {
@XmlElement(name="itemprice")
public java.math.BigDecimal price;
}
<!-- Example: Local XML Schema element -->
<xs:complexType name="USPrice"/>
<xs:sequence>
<xs:element name="itemprice" type="xs:decimal" minOccurs="0"/>
</sequence>
</xs:complexType>
此示例来自the JAXB javadocs。
请注意,JAXB支持有一些&#34;如何使用它&#34;工作流,&#34; XSD生成支持Java类&#34;和&#34; Java类以生成XSD&#34;。我更喜欢后者,但你可能正在使用前者。如果你是,那么你需要改变你的XSD以在那里有camelCase元素名称。
没有&#34;使用我的XSD来生成Java类,但有一些覆盖&#34;流程。也许这就是混乱的来源。同样,没有&#34;使用Java类注释生成XSD文档,但有一些覆盖&#34;。你指定的将是你得到的,名字。