次の形式のxmlファイルがあります:-
<item>
<item_attribute index="1" type="1" >
<name>value1</name>
</item_attribute>
<item_attribute index="2" type="1" >
<a_differnt_name>value2</a_different_name>
</item_attribute>
<item_attribute index="5" type="2" >
<another_name>value3</another_name>
</item_attribute>
</item>
私は JAXB を使用して xml をアンマーシャリングし、「item_attribute」の子以外の各要素に対してクラスを設定しています。要素の名前を知らなくても、各 'item_attribute' 要素内のデータ (要素名と要素値) を一般的にアンマーシャリングしたいと考えています。
私が知っているのは、「item_attribute」には常に1つの子要素しかなく、その子を呼び出して何でも含めることができるということだけです。
私は使用してみました:
public class Item_attribute {
private int index;
private Object data;
@XmlAttribute(name = "index")
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
@XmlAnyElement(lax = true)
public Object getData() {
return this.data;
}
}
しかし、違法な注釈例外をスローし続けます!