繁体   English   中英

JAXB 无法解组

JAXB cannot unmarshall

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我不能像这样解组一个通用类型。 我不喜欢用适配器 class 解决。 有人可以帮忙吗。。

interface Car {
}


class Car1 implements Car {
}

class Car2 implements Car {
}

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType( name = "", propOrder = { "car1" } )
@XmlRootElement(name = "Element")
class Element{

@XMLELEMENT(type="Car1.class" name="Car")
private Car car1;

}
1 个回复

如果您尝试解组的 xml 具有不同的标签来描述 car1 和 car2,则可以使用@XmlElements注释。

我在下面创建一个小例子来展示它:

@XmlRootElement
public class SomeRoot {

    @XmlElements({
            @XmlElement(type = Car1.class, name = "car1"),
            @XmlElement(type = Car2.class, name = "car2")
    })
    private List<Car> cars;
}

然后你的界面:

public interface Car {
}

具有一些公共字段的基础 class:

@XmlAccessorType(XmlAccessType.FIELD)
public class BaseCar {

    private String type;
}

以及 car1 的实现:

@XmlAccessorType(XmlAccessType.FIELD)
public class Car1 extends BaseCar implements Car {
    private String car1SpecificField;

}

和汽车2:

@XmlAccessorType(XmlAccessType.FIELD)
public class Car2 extends BaseCar implements Car {
    private String car2SpecificField;
}

这将解组下面的 xml 罚款:

<someRoot>
    <car1>
        <type>some type</type>
        <car1SpecificField>some value</car1SpecificField>
    </car1>
    <car2>
        <type>other type</type>
        <car2SpecificField>other value</car2SpecificField>
    </car2>
</someRoot>

如果您的 xml 有<car>而不是<car1><car2>您需要使用适配器,否则 jaxb 不知道要对哪个 class 进行拆解。

1 无法使用JAXB解组

所以,我有一个JAXBContext 参考文档, 如果执行newInstance(Foo.class),则新创建的JAXBContext}将识别Foo和Bar,但不能识别FooBar 问题是,当我尝试将XML解组到Foo时,例如: xmlString是Foo的 ...

2 JAXB无法解组某些替换组

我在解组已针对架构进行验证的XML时遇到问题。 我已经提供了一个扩展的大型架构。 以下是所提供内容的摘要: (命名空间为“原始”) 现在,我用一些附加功能扩展了SpringPlatformType: 我收到的平台列表如下: 我可以正确地解组使用origina ...

3 JAXB解组无法正常工作

我已经建立了一个项目来测试另一个项目的编组。 编组工作。 我得到了正确的xml文件,但无法进行编组。 我只得到关系名称(字符串)。 缺少属性和功能依赖性。 编辑:这是源: 源代码 请看一下这些课程: 主要: 关系: 属性: FD: 出口: ...

4 JAXB 解组无法正常工作

我正在尝试使用JAXB将XML转换为 Object ,我的 XML 如下所示: 所以我创建了 3 个 java 类:EntityResource.java、Item.java 和 PermissionRecipient.java,如下所示: 实体资源.java 项目.java 权限接收 ...

5 与JAXB解组

我需要将XML字符串解组到项目中已经存在的类中,但是我无法弄清楚如何将XML的特定部分解组到对象列表中。 让我用一些代码解释一下: 我有这个XML: 我有这些课程: 用户 @XmlAccessorType(XmlAccessType.FIELD) @XmlType( ...

6 如何与JAXB解组?

如何将以下xml文件解组为java对象,有人可以建议我吗? XML文件: POJO课 如果我在XML文件中有一组&lt;DATA&gt; &lt;/DATA&gt; ? 如果我有多个&lt;DATA&gt;&lt;/DATA&gt;遇到异常,我可以解组到JAVA对象中,有 ...

2019-02-15 18:26:52 0 28   java/ jaxb
7 我该如何与JAXB解组

使用JAXB在Web服务中解组.xml时遇到一些问题。 这是从某些客户端发送到Web服务的.xml文件。 这是解组的方法 这是带有JAXB注释的人员类(由Schema自动生成) 这是我得到的例外 严重:javax.xml.bind.UnmarshalExc ...

8 当我无法访问解组器时,如何调试JAXB解组?

我遇到了JAXB解组的问题,我不知道如何解决。 它与解组SOAP头有关。 在我的SOAPHandler中 ,我有一个SOAPMessageContext对象,该对象具有getHeaders()方法。 此方法接受QName和JAXBContext作为参数,并将自动解组所有匹配的标头。 ...

9 无法使用JAXB解组收到的请求

我定义了所有必需的元素,但是代码无法解析服务器响应。 我将@XmlSeeAlso({ Artist.class, Venue.class })更改为@XmlSeeAlso({Venue.class })但这没有帮助。 我还添加了package-info.java文件。 错误 ...

10 JaxB无法解组正确的超级类型

我无法将一些XML解组到正确的超类。 似乎忽略了Party标签上的xsi:type属性。 SOAP XML的形式为 &lt;ns6:CustomerContact&gt; &lt;Party xsi:type="Individual"&gt; &lt;partyId&gt; ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM