JAXB + JDO编组生成空XML根元素

时间:2015-03-17 14:01:25

标签: java xml jaxb marshalling jdo

这是我的问题:我已经成功实现了XML的解组和RDBMS中对象的存储。我可以很好地从数据库中检索对象。 但是,我似乎无法使编组部分正常工作。

这是我的编组代码:

//JAXB MARSHALLING
    JAXBContext jaxbContext = JAXBContext.newInstance(ObjectFactory.class);
    Marshaller marshaller = jaxbContext.createMarshaller();
    marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

    Transaction tx = pm.currentTransaction();
    try
    {
        tx.begin();
        Extent e = pm.getExtent(DELVRY03Type.class,true);
        Iterator iter = e.iterator();
        while (iter.hasNext())
        {
            DELVRY03Type delvry03 = (DELVRY03Type)iter.next();

            ObjectFactory objectFactory = new ObjectFactory();
            JAXBElement<DELVRY03Type> je = objectFactory.createDELVRY03(delvry03);

            marshaller.marshal(je, System.out);
        }
        tx.commit();
        System.out.println("READ"); 
    }
    finally
    {
        if (tx.isActive())
        {
            tx.rollback();
        }
        pm.close();
    }

DELVRY03Type是我的主类(xml根元素)。 奇怪的是,如果从数据库中检索到 delvry03 的内部对象(子项),我就可以很好地读取它们的属性。但这是从编组到XML的输出中显示的内容:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <DELVRY03/> READ

可能是什么问题?怎么可能是对象没问题然后编组会产生一个空的根元素?

我试图在没有将对象存储在数据库中的情况下进行连接解组+编组,并且它完成了一个完美的编组操作,我很困惑。

任何帮助将不胜感激。

0 个答案:

没有答案