【发布时间】:2011-02-14 02:25:21
【问题描述】:
我有哪些库可以将 XSD 文件转换为 Java bean 或对象的选项?我有一个大型 XSD,我一直在尝试使用 JAXB2 进行转换,但 JAXB2 正在创建无效的类。
【问题讨论】:
-
“无效类”是什么意思?
我有哪些库可以将 XSD 文件转换为 Java bean 或对象的选项?我有一个大型 XSD,我一直在尝试使用 JAXB2 进行转换,但 JAXB2 正在创建无效的类。
【问题讨论】:
我使用hyperjaxb 来做到这一点,效果很好。
【讨论】:
尝试使用 xml beans,但遇到错误 - 名称太长:
target/generated-sources/xmlbeans/net/juniper/xml/iveSa/x65R31/impl/ConfigurationDocumentImpl.java:643340: error while writing net.juniper.xml.iveSa.x65R31.impl.ConfigurationDocumentImpl.ConfigurationImpl.UsersImpl.ResourcePoliciesImpl.NetworkConnectPoliciesImpl.NetworkConnectNodeSpecificConfigurationImpl.NetworkConnectConnectionProfilesImpl.NetworkConnectConnectionProfileImpl.DhcpOptionsImpl.DhcpOptionImpl.OptionNumberImpl: /target/generated-classes/xmlbeans/net/juniper/xml/iveSa/x65R31/impl/ConfigurationDocumentImpl$ConfigurationImpl$UsersImpl$ResourcePoliciesImpl$NetworkConnectPoliciesImpl$NetworkConnectNodeSpecificConfigurationImpl$NetworkConnectConnectionProfilesImpl$NetworkConnectConnectionProfileImpl$DhcpOptionsImpl$DhcpOptionImpl$OptionNumberImpl.class (File name too long)
【讨论】:
您可以使用 JAXB 2.x 版本附带的绑定编译器为 XSD 中的每个复杂元素创建类。如果您不想使用命令行调用绑定编译器,可以使用 JAXB Workshop XJC plugin 用于 Eclipse 或 IntelliJ IDE,它们将在单击按钮时生成类。
问候,
纳根德拉 U M
【讨论】: