我已成功整理了以下课程
@XmlRootElement(name = "Field")
private static class MyField {
@XmlAttribute(name = "Name")
String name;
@XmlElement(name = "Size")
int size;
....}
现在我想让我的容器类保存多个Field实例,所以我用以下方式声明了一个类:
private static class MyFieldsCollection {
private Collection<MyField> fields = new LinkedList<MyField>();
public MyFieldsCollection() {}
....}
当我只是尝试编组容器字段时,我收到以下错误:
类java.util.LinkedList也不知道它的任何超类
如何对字段成员进行注释,以便将容器类封送为字段集合?
答案 0 :(得分:0)
您不应将MyField类注释为@XmlRootElement,因为它不是xml根元素。我认为您可以使用@XmlType注释它,或者只是不注释它。您可以尝试将@XmlElement标记放在 getter 中,以用于类中的“fields”属性。如果它有效,您的XML将如下所示:
<MyFieldsCollection>
<fields name="name1" size="size1"/>
<fields name="name2" size="size2"/>
</MyFieldsCollection>
如果它不起作用,并且在黑暗中拍摄,请尝试将“收藏”的类型更改为“列表”,以检查它是否有所不同。您使用的是哪个版本的Java?用于序列化对象的代码如何?