说我有以下内容:
@XmlRootElement(name = "foo1")
public class Foo1
{
@XmlElementWrapper( name="answerList" )
@XmlElement( name="answer" )
private List<String> answerList;
}
如果 Foo1 实例被编组,它看起来像这样
<foo1>
<answerList>
<answer>myAnswer1</answer>
<answer>myAnswer2</answer>
</answerList>
</foo1>
现在,如果我有以下属性:
private List<List<String>> answerListsList;
如何注释上面的属性,以便我有以下 XML(当然,没有创建一个新类来保存字符串列表)?
<foo1>
<answerLists>
<answerList>
<answer>row1 myAnswer1</answer>
<answer>row1 myAnswer2</answer>
</answerList>
<answerList>
<answer>row2 myAnswerA</answer>
<answer>row2 myAnswerB</answer>
</answerList>
<anserLists>
</foo1>
编辑:
不想创建新类的原因是我试图避免创建太多类。在我看来,为您可能拥有的每个字符串列表创建一个新类(碰巧使用不同的元素名称)并不是一个好的设计。
我可以考虑创建一个新类作为答案,只要该类可以根据需要编组为不同的元素名称和元素包装器。例如,该类应该能够表示以下 XML:
<answerLists>
<answerList>
<answer>row1 myAnswer1</answer>
<answer>row1 myAnswer2</answer>
</answerList>
<answerList>
<answer>row2 myAnswerA</answer>
<answer>row2 myAnswerB</answer>
</answerList>
<anserLists>
或者
<myLists>
<myList>
<item>row1 d1</item>
<item>row1 d2</item>
</myList>
<myList>
<item>row2 dA</item>
<item>row2 dB</item>
</myList>
</myLists>