首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jaxb @XmlAttribute

Jaxb @XmlAttribute
EN

Stack Overflow用户
提问于 2014-05-08 11:14:09
回答 1查看 1.7K关注 0票数 2

我有以下问题。我无法读取每一行的属性样式。我已经创建了一个包含“花线”和“风格”的类,但如果它是正确的,则不会。

这是要读取的Xml。

代码语言:javascript
复制
<aviso id="20642227720571316020140523421272">
        <titulo>
                <linea style="12">Etiquetado</linea>
        </titulo>
        <informacion>
                <linea style="13">MONTAR CAJA TIPO: (3) - Caja grande</linea>
                <linea style="14">PEGAR MATRICULA: M142849863</linea>
        </informacion>
        <instrucciones>
                <linea style="15">EMISION DE ETIQUETA EN CURSO...</linea>
        </instrucciones>
</aviso>

这是泛型类java

代码语言:javascript
复制
public class TextosMensaje {

    private String linea;
    private String style;

    public TextosMensaje() {
    }

    @XmlElement(name = "linea")
    public String getLinea() {
        return linea;
    }

    public void setLinea(String linea) {
        this.linea = linea;
    }


    @XmlAttribute(name="style")
    public String getStyle() {
        return style;
    }

    public void setStyle(String style) {
        this.style = style;
    }

}

这是我相信列表的java类。

代码语言:javascript
复制
@XmlRootElement(name = "aviso")
public class Aviso {

    private String id;

    private List<TextosMensaje> tituloList;
    private List<TextosMensaje> informacionList;
    private List<TextosMensaje> instruccionesList;

    public Aviso() {
    }

    @XmlAttribute(name = "id")
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @XmlElementWrapper(name = "titulo")
    @XmlElement(name = "linea")
    public List<TextosMensaje> getTituloList() {
        return tituloList;
    }

    public void setTituloList(List<TextosMensaje> tituloList) {
        this.tituloList = tituloList;
    }

    @XmlElementWrapper(name = "informacion")
    @XmlElement(name = "linea")
    public List<TextosMensaje> getInformacionList() {
        return informacionList;
    }

    public void setInformacionList(List<TextosMensaje> informacionList) {
        this.informacionList = informacionList;
    }

    @XmlElementWrapper(name = "instrucciones")
    @XmlElement(name = "linea")
    public List<TextosMensaje> getInstruccionesList() {
        return instruccionesList;
    }

    public void setInstruccionesList(List<TextosMensaje> instruccionesList) {
        this.instruccionesList = instruccionesList;
    }

}

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2014-05-08 12:11:05

在您的用例中,linea元素对应于具有简单内容的复杂类型。因此,您应该对类进行注释,如下所示,利用@XmlValue属性上的linea注释。

代码语言:javascript
复制
public class TextosMensaje {

    private String linea;
    private String style;

    public TextosMensaje() {
    }

    @XmlValue
    public String getLinea() {
        return linea;
    }

    public void setLinea(String linea) {
        this.linea = linea;
    }


    @XmlAttribute
    public String getStyle() {
        return style;
    }

    public void setStyle(String style) {
        this.style = style;
    }

}

获取更多信息

我在我的博客上写了更多关于这个用例的文章:

  • http://blog.bdoughan.com/2011/06/jaxb-and-complex-types-with-simple.html
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23540168

复制
相关文章

相似问题

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