我有以下问题。我无法读取每一行的属性样式。 我创建了一个包含“linea”和“style”的类,但如果它是正确的话则不会。
这是要阅读的Xml。
<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
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类。
@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;
}
}
谢谢。
答案 0 :(得分:1)
在您的用例中,linea
元素对应于具有简单内容的复杂类型。因此,您应该使用@XmlValue
属性上的linea
注释按如下方式对您的类进行注释。
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;
}
}
了解更多信息
我在博客上写了更多关于此用例的内容: