我是JAXB庫的新手,無法獲得將@XmlAttribute添加到現有代碼的解決方案。如何將屬性添加到JAXB中的元素
我有具有兩個元件(名稱和值),如下所示的XML:
<ns4:Envelope xmlns:ns2="xyz/123" xmlns:ns3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns4="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns6="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns5="http://www.w3.org/2001/XMLSchema" xmlns:abc="abc">
<ns4:Header>
<ns2:ID ns4:mustUnderstand="1">testId</ns2:ID>
</ns4:Header>
<ns4:Body>
<ns2:Set>
<List ns3:arrayType="abc:hash[1]">
<Struct>
<Name>Interval</Name>
<Value xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xsi:type="xs:int">10</Value>
</Struct>
</List>
</ns2:Set>
</ns4:Body>
</ns4:Envelope>
在上述XML,所述的xsi:是已經越來越由JAXB自動生成類型。具有以下代碼的結構類別
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "Struct", propOrder = {
"name",
"value"
})
public class Struct {
@XmlElement(name = "Name", required = true)
protected String name;
@XmlElement(name = "Value", required = true)
protected Object value;
public String getName() {
return name;
}
public void setName(String value) {
this.name = value;
}
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
正如您所見,未在上述類中設置類型。我希望有一些規定可以根據用戶定義添加類型,而不是根據數據類型生成。
我不知道我怎麼可以添加屬性來此Struct類,它可以添加類型爲「值」元素(正如我們看到的元素的值是簡單的字符串對象)