gpt4 book ai didi

java - 从 xsd :choice element 自定义 JAXB 2.0 生成的方法名称

转载 作者:数据小太阳 更新时间:2023-10-29 02:25:14 25 4
gpt4 key购买 nike

我正在尝试了解如何自定义由 JAXB 2.1.12 生成的方法名称。我有一个史诗般的 XML 模式(不在我的控制范围内),它包含一个组,其中一个选择元素包含大约 200 个其他元素。因此,当我生成 JAXB 类时,创建的 get() 方法毫无用处 - 它最终变成类似于“getElement1AndElement2AndElement3()”的东西。

我想将 get() 方法重命名为更好的名称,但我不知道该怎么做。我知道在 the tutorial它描述了通过在元素上使用自定义类名。

我发现了一篇非常古老的文章 ( http://onjava.com/pub/a/onjava/2003/12/10/jaxb.html?page=2 ),它描述了将“名称”属性附加到元素上,这似乎是我需要做的。不幸的是,我认为那篇文章指的是 1.x JAXB 版本,并且从 JAXB 2.0 开始,name 属性在 choice 元素中不再有效。

那么有人知道如何自定义生成的方法名称吗?请让我知道示例或任何其他信息是否有帮助,或者我正在尝试做的事情是不可能的。

谢谢!

最佳答案

我已经尝试使用您提供的链接中公开的示例,并且以下 binding.xjb 有效:

<jxb:bindings version="1.0"
xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<jxb:bindings>
<jxb:bindings schemaLocation="po4.xsd" node="/xs:schema/xs:element[@name='Widgets']//xs:complexType//xs:choice">
<jxb:property name="Shapes"/>
</jxb:bindings>
</jxb:bindings>
</jxb:bindings>

我也使用 JAXB 2.1.12。

希望对你有帮助。

关于java - 从 xsd :choice element 自定义 JAXB 2.0 生成的方法名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2229469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com