【问题标题】:How to create a list from a DefaultModelList so I can marshal to XML using JAXB?如何从 DefaultModelList 创建一个列表,以便我可以使用 JAXB 编组到 XML?
【发布时间】:2014-08-15 16:11:45
【问题描述】:

我对此很陌生,所以如果我没有提供正确的信息,请耐心等待。

我正在尝试使用 JAXB 将数据编组为 xml。数据位于 DefaultListModel 中。我正在尝试将此数据移动到 JAXB 将识别的列表中。这个尝试给了我一个 StackOverflowError:

    @XmlElement
    Window R = new Window ();
    {
        List r = new ArrayList(); 
        for( int index=0;index<8;index++ ) {
            try {
                r.add(order.elementAt(index));
            } finally {
            }
        }
    }

DefaultListModel 是“订单” 我可以解决这个问题,还是我基于如何做到这一点?任何建议将不胜感激。

【问题讨论】:

  • 您需要一个包含 List(请使用泛型参数)r 的类,并且必须知道列表元素的类。注释放错了位置。一点研究——也许从jaxb.java.net/tutorial开始

标签: java xml jaxb defaultlistmodel


【解决方案1】:

这是一个具有您要编组为属性的列表的类:

@XmlRootElement
@XmlAccessorType(XmlAccessType.PROPERTY)
public class Container {
    private List<Item> order;
    @XmlElement
    public List<Item> getOrder(){
        if( order == null ){
            order = new ArrayList<>();
        }
        return order;
    }
}

您可能必须注释 Item(或 DefaultListModel 元素的任何类名)。

order 的 setter 通常被省略;一个用途

container.getOrder().add( anotherItem );

建立列表。

【讨论】:

  • 这真的是一个很大的帮助!!!谢谢!!还有一些其他的错误,所以我不得不做一些其他的小改动。这是有效的代码副本。
猜你喜欢
  • 2014-10-27
  • 1970-01-01
  • 2018-07-18
  • 2013-03-31
  • 1970-01-01
  • 1970-01-01
  • 2022-11-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多