java - JAXB - 列表 <Serializable>?

标签 java xml xsd jaxb

我用 xjc 制作了一些类。

    public class MyType {

    @XmlElementRefs({
        @XmlElementRef(name = "MyInnerType", type = JAXBElement.class, required = false),

    })
    @XmlMixed
    protected List<Serializable> content;

    public List<Serializable> getContent() {
        if (content == null) {
            content = new ArrayList<Serializable>();
        }
        return this.content;
    }
}

但是我不能使用

添加内部元素
getContent().add(newItem);

因为 MyInnerType 不是可序列化的。 为什么它不是对象列表?如何添加内部元素?

最佳答案

请看herehere (肯定会解决您的情况)。

来自第二个链接:

<!-- schema fragment having  mixed content -->
<xs:complexType name="letterBody" mixed="true">
<xs:sequence>
    <xs:element name="name" type="xs:string"/>
    <xs:element name="quantity" type="xs:positiveInteger"/>
    <xs:element name="productName" type="xs:string"/>
    <!-- etc. -->
</xs:sequence>
</xs:complexType>
<xs:element name="letterBody" type="letterBody"/>


// Schema-derived Java code: 
// (Only annotations relevant to mixed content are shown below, 
//  others are ommitted.)
import java.math.BigInteger;
public class ObjectFactory {
    // element instance factories
    JAXBElement<LetterBody> createLetterBody(LetterBody value);
    JAXBElement<String>     createLetterBodyName(String value);
    JAXBElement<BigInteger> createLetterBodyQuantity(BigInteger value);
    JAXBElement<String>     createLetterBodyProductName(String value);
  // type instance factory
    LetterBody> createLetterBody();
}

public class LetterBody {
    // Mixed content can contain instances of Element classes
    // Name, Quantity and ProductName. Text data is represented as
    // java.util.String for text.
    @XmlMixed 
    @XmlElementRefs({
            @XmlElementRef(name="productName", type=JAXBElement.class),
            @XmlElementRef(name="quantity", type=JAXBElement.class),
            @XmlElementRef(name="name", type=JAXBElement.class)})
    List getContent(){...}
}

关于java - JAXB - 列表 <Serializable>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9081527/

相关文章:

soap - xmlschema 序列中无界元素的顺序

java - JPA、Hibernate - 处理包含在 RollbackException 中的 ContraintViolationException

java - 如何使用LinkedHashMap解析包含多个标签的xml文件?

java - 在云中每隔几分钟运行一次 Java 应用程序的最佳方式?

javascript - openui5/sapui5 : Change parts of a page controlled by router

java - 使用 Jaxb 解码 MixedContent 返回带有 null 变量的对象

java - 内容值无法访问value.put();

sql-server - ssis导入问题将一些数据映射到xml文件

java - 无法访问的代码 - 不应该无法访问

XML XSD 十进制分数