2017-01-23 14 views
-1

Я хочу преобразовать следующий объект xml в java с помощью JAXB.Pojo требуется для преобразования xml (без значения тега) в java-объект для JAXB

<?xml version="1.0" encoding="UTF-8"?> 
<Colindex> 
    <column name="COLNAMES">+ADDRESS_TYPE</column> 
    <column name="INDNAME">ADDRESS_TYPE_PK</column> 
    <column name="TABNAME">ADDRESS_TYPES</column> 
    <column name="UNIQUERULE">P</column> 
    <column name="MADE_UNIQUE">N</column> 
    <column name="COLCOUNT">1</column> 
    <column name="UNIQUE_COLCOUNT">1</column> 
    <column name="INDEXTYPE">REG</column> 
    <column name="COMPRESSION">N</column> 
</Colindex> 

Я создал Colindex POJO, как

@XmlRootElement(name = "Colindex") 
public class Colindex { 

    private List<Db2Column> column; 

    public List<Db2Column> getColumn() { 
     return column; 
    } 

    @XmlElement(name = "column") 
    public void setColumn(List<Db2Column> column) { 
     this.column = column; 
    } 
} 

И

public class Db2Column { 

    private String name; 

    private String value; 

    public String getName() { 
     return name; 
    } 

    @XmlAttribute 
    public void setName(String name) { 
     this.name = name; 
    } 

    public String getValue() { 
     return value; 
    } 

    public void setValue(String value) { 
     this.value = value; 
    } 
} 

После преобразования значение address_type не получает преобразованы. Как преобразовать это (когда у него нет тега)?

ответ

0

Для того, чтобы отобразить поле value с элементом JAXB column, для этого вам необходимо указать @XmlValue, как указано ниже.

@XmlValue 
protected String value; 

Полный класс

@XmlAccessorType(XmlAccessType.FIELD) 
public class Db2Column { 
    @XmlAttribute(name = "name") 
    private String name; 
    @XmlValue 
    private String value; 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public String getValue() { 
     return value; 
    } 

    public void setValue(String value) { 
     this.value = value; 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^