首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JAXB xjc以元素列表的形式生成字段

JAXB xjc以元素列表的形式生成字段
EN

Stack Overflow用户
提问于 2014-05-20 16:31:59
回答 2查看 1.2K关注 0票数 1

我对下面的wsdl文件序列有一个问题

代码语言:javascript
复制
                <xsd:sequence>
                <xsd:element maxOccurs="1" minOccurs="1" name="allowCaseWithNewContract" type="xsd:boolean">
                </xsd:element>
                <xsd:choice minOccurs="0">
                    <xsd:element name="validationError" type="mnp:ErrorType"/>
                    <xsd:element name="internalError" type="mnp:ErrorType"/>
                    <xsd:element name="businessError" type="mnp:ErrorType"/>
                    <xsd:element name="externalError" type="mnp:ErrorType"/>
                </xsd:choice>
            </xsd:sequence>

            <xsd:sequence>
                <xsd:element maxOccurs="1" minOccurs="1" name="allowCaseWithExistingContract" type="xsd:boolean">
                </xsd:element>
                <xsd:choice minOccurs="0">
                    <xsd:element name="validationError" type="mnp:ErrorType"/>
                    <xsd:element name="internalError" type="mnp:ErrorType"/>
                    <xsd:element name="businessError" type="mnp:ErrorType"/>
                    <xsd:element name="externalError" type="mnp:ErrorType"/>
                </xsd:choice>
            </xsd:sequence>

我尝试使用jaxb绑定定制:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<jxb:bindings xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
              xmlns:xs="http://www.w3.org/2001/XMLSchema"
              xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc">
  <jxb:globalBindings>
    <xjc:simple />
  </jxb:globalBindings>
</jxb:bindings>

我正在尝试避免jaxb - xjc将我的字段生成为List<JAXBElement<?>> validationErrorsAndAllowCaseWithExistingContractsAndInternalErrors,有什么方法可以实现吗?

EN

回答 2

Stack Overflow用户

发布于 2014-05-21 16:31:06

如果可能,我建议您简化模式。我会将allowCaseWithNewContractallowCaseWithExistingContract作为属性放入封装的元素中。我猜,剩下的选择应该是ErrorType类型。

票数 0
EN

Stack Overflow用户

发布于 2018-07-19 19:19:35

我不被允许发表评论,但我相信这个问题已经被herehere解决了--基本上你最好的办法就是使用JAXB2 Simplify Plugin,因为JAXB会阻止你做你想做的事情,因为它希望(反)序列化在herehere之间保持一致(即你需要保持顺序)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23754731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档