Jaxb - umarshaling将xml元素与值混合

时间:2010-11-27 18:42:32

标签: jaxb

我有以下的xml元素:

<FIELD1><COMP VAR="A">text B</COMP> inner text <COMP VAR="B">text B</COMP></FIELD1>

如何使用JAXB注释此属性:

protected List<Object> compOrValue;

列出COMP xml元素和字符串值。

JAXB可以吗?

由于

1 个答案:

答案 0 :(得分:3)

您可以使用@XmlAnyElement和@XmlMixed的组合来实现此目的:

import java.util.List;
import javax.xml.bind.annotation.XmlAnyElement;
import javax.xml.bind.annotation.XmlMixed;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name="FIELD1")
public class Root {

    protected List<Object> compOrValue;

    @XmlAnyElement
    @XmlMixed
    public List<Object> getCompOrValue() {
        return compOrValue;
    }

    public void setCompOrValue(List<Object> compOrValue) {
        this.compOrValue = compOrValue;
    }

}