2 つのリストの要素間で参照を作成する必要があります。XStream を使用してみました。XML の例を次に示します。
<bookshop>
<authors>
<author id="a1">
<name>Stanisław</name>
</author>
</authors>
<books>
<book id="b1">
<author>a1</author>
<title>Ubik</title>
<price currency="PLN">29.0</price>
</book>
</books>
</bookshop>
私のJavaクラスのいくつかの傷:
public class Bookshop {
private ArrayList<Author> authors;
private ArrayList<Book> boooks;
}
public class Book {
@XStreamAsAttribute
private String id;
private Author author;
private String title;
private Price price;
}
@XStreamConverter(value=ToAttributedValueConverter.class, strings={"value"})
public class Price {
private double value;
@XStreamAsAttribute
private String currency;
}
public class Author {
@XStreamAsAttribute
private String id;
private String name;
private String surname;
}
そして、XMLをクラスに入れようとするたびに、Author autorフィールドにnullが表示されます。もう少し注釈が必要かもしれませんが、Xstream ドキュメントには何も見つかりませんでした。