我正在使用JAXB和xjc将XML Schema编译为Java类。我不想手动编辑此生成的类。我有这样的xml模式:
<xs:element name="root">
<xs:complexType>
<xs:sequence>
<xs:element name="items">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
xjc生成Items
仅包含Item
对象列表的类。是否有机会省略该类Items
并Item
直接在Root
该类中具有对象列表?
我知道可以通过@XMLElementWrapper
注释来完成,但是我不知道如何告诉xjc创建此类注释。
感谢您的任何建议!
最好的问候,马库斯
Bjarne Hansen为xjc开发了一个插件,可以解决此问题。不幸的是,到原始实现的链接现在已失效。但是,Dmitry
Katsubo在github上有一个项目,该项目基于Bjarne的原始代码并进行了一些其他改进。
→ https://github.com/dmak/jaxb-xew-plugin
(仅供参考:原始链接,现已失效:http : //www.conspicio.dk/blog/bjarne/jaxb-
xmlelementwrapper-plugin
)
问题内容: 有一些方法可以在使用JAXB生成的类中生成自定义方法。 我搜索了包括oracle的教程在内的教程,但没有找到明确的说明来说明如何自定义XML Schema中描述的生成类的方法。 问题答案: 您可以编写一个XJC插件: http://weblogs.java.net/blog/kohsuke/archive/2005/06/writing_a_plugi.html
这过去适用于所有以前版本的JAXB。我已经升级到JAXB的2.2.7版本,现在抛出以下内容: java.lang.AssertionError:javax.xml.bind.jaxBException-带有链接异常:[com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException:1 counts of IllegalAnnotat
当我试图使用数据绑定和绑定布局中的自定义XML标记运行项目时,遇到以下描述的构建错误:
在我们的项目中,我们正试图从Spring标准AOP转移到AspectJ,正如在许多类似的地方所解释的那样(我们需要使事务处理成为一些私有和受保护的方法)。 我们已经能够使用标准的Spring注释(如)来很好地完成这项工作。但是我们面临的问题是,在我们的项目中,有一些自定义注释(不是自定义方面)是AeyJ无法识别的。例如,我们有一个注释“扩展”(仅修改属性): 你知道如何告诉AspectJ也给wea
问题内容: 建议和有时是必要的,即表示值(类 值类 )来覆盖,[和任选]的方法。这些方法返回的值取决于类及其超类的成员变量的全部或子集。为了实现它们正常,你必须了解理论的一点点 散列 和代数和集理论的一点点(不要太多,几乎一切都在explaind 的javadoc 这些方法和有效的Java形式乔希布洛赫。) 在大多数情况下,此方法的实现遵循一个模板,并且IDE(如Eclipse JDT)包括生成它
我使用XML模式,并用xjc生成java文件,以便与JAXB一起使用。生成的java文件具有默认的@XmlAccessorType(XmlAccessType。字段)指定。我想改变这一点,使生成的java文件具有带注释的属性访问(@XmlAccessorType(XmlAccessType。属性),并且不在字段级别生成@XmlElement / @XmlAttribute批注。有没有办法通过自定义