java - 将对象转换为 JAXBElement

标签 java jaxb jaxb2

我想实现一个返回 JAXBElement 的方法,下面是代码

@XmlRootElement(name = "history")
@XmlAccessorType(XmlAccessType.FIELD)
public class IBHistoryInfo {

     @XmlElement(name="trade")
     private List<IBTradeInfo> mTrade;

     public void updateTradeValue(int reqId, String date, double open, double high, double low,
                                  double close, int volume, int count, double WAP, boolean hasGaps){



        IBTradeInfo info = new IBTradeInfo();
        info.setReqId(reqId);
        info.setDate(date);
        info.setOpen(open);
        info.setHigh(high);
        info.setLow(low);
        info.setClose(close);
        info.setVolume(volume);
        info.setCount(count);
        info.setWap(WAP);
        info.setHasGaps(hasGaps);
        this.setTradeInfo(info);

     }
      public void setTradeInfo(IBTradeInfo tradeinfo){
        mTrade.add(tradeinfo);
    }

       public List<IBTradeInfo> getTradeInfo(){
         if (mTrade == null) {
                mTrade = new ArrayList<IBTradeInfo>();
            }
            return this.mTrade;


    }
}

现在我不知道如何在上面的类中创建一个返回 JAXBElement 的方法

例如

 public JAXBElement<IBTradeInfo> getTradeXML(){

 return mTrade

}

最佳答案

以下是如何实现 getTradeXML() 方法:

public JAXBElement<IBTradeInfo> getTradeXML(){
    if(null == mTrade || mTrade.size() == 0) {
        return null;
    }
    IBTradeInfo tradeInfo = mTrade.get(0);
    QName qname = new QName("http://www.example.com", "trade-info");
    return new JAXBElement(qname, IBTradeInfo.class, tradeInfo);
}

关于java - 将对象转换为 JAXBElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5702035/

相关文章:

java - 需要向 JAXB 类添加一个方法。如何?或者我应该?

java - 复杂类型到新类名的 JAXB 绑定(bind)

不带泛型的 Java vector

javabean vs servlet

java - 从 ParseQuery 方法返回的字符串为 null

java - JAXB 解码 @XmlAnyElement

java - 在 Unix AIX 上运行 JAXB 时出现 IncompatibleClassChangeError

java - 如何在 Java 中使用编码 URIbuilder() 方法

java - 标签的 JAXB 解码

java - 什么会导致 @XmlRootElement 类被解码到 JaxbElement 中?