Java 使用Hibernate和dom4j,是否可以在不使用DB的情况下将POJO转换为其XML表示(反之亦然)?

Java 使用Hibernate和dom4j,是否可以在不使用DB的情况下将POJO转换为其XML表示(反之亦然)?,java,xml,hibernate,dom4j,Java,Xml,Hibernate,Dom4j,是否可以在不将POJO实例存储到DB的情况下将其转换为XML表示形式,并在DOM4J模式下再次将其从XML加载回POJO?我还没有使用过这一点,但DOM4J似乎有一些JAXB集成,可用于将POJO转换为XML DOM4J: 更新 DOM4J还提供了一个DocumentResult类,该类实现javax.xml.transform.Result。您可以使用JAXB封送到此类,然后操作生成的DOM4J文档对象: 我还没有使用它,但DOM4J似乎有一些JAXB集成,可用于将pojo转换为XML DOM

是否可以在不将POJO实例存储到DB的情况下将其转换为XML表示形式,并在DOM4J模式下再次将其从XML加载回POJO?

我还没有使用过这一点,但DOM4J似乎有一些JAXB集成,可用于将POJO转换为XML DOM4J:

更新

DOM4J还提供了一个DocumentResult类,该类实现javax.xml.transform.Result。您可以使用JAXB封送到此类,然后操作生成的DOM4J文档对象:


我还没有使用它,但DOM4J似乎有一些JAXB集成,可用于将pojo转换为XML DOM4J:

更新

DOM4J还提供了一个DocumentResult类,该类实现javax.xml.transform.Result。您可以使用JAXB封送到此类,然后操作生成的DOM4J文档对象:


除了JAXB包javax.xml.bind之外,您不需要任何东西,它是JDK的一部分,我认为是从JDK6开始的。对于初学者,查看JAXBContext和@XmlRootElement注释

除了JAXB包javax.xml.bind之外,您不需要任何东西,它是JDK的一部分,我认为从JDK6开始。首先查看JAXBContext和@XmlRootElement注释

有许多XML序列化库,请选择:

JAXB DOM4J
我自己也是XStream的忠实粉丝,它使用非常简单,不需要.xsd。

有许多XML序列化库,请选择:

JAXB DOM4J
我自己也是XStream的忠实粉丝,它使用非常简单,不需要.xsd。

JAXB实现Metro、MOXy、JaxMe也不需要xsd。还要检查:JAXB实现Metro、MOXy和JaxMe也不需要XSD。另外,请查看:
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;

import org.dom4j.Document;
import org.dom4j.io.DocumentResult;

public class Demo {

    public static void main(String[] args) throws Exception {
        // Create the JAXBContext
        JAXBContext jc = JAXBContext.newInstance(Customer.class);

        // Create the POJO
        Customer customer = new Customer();
        customer.setName("Jane Doe");

        // Marshal the POJO to a DOM4J DocumentResult
        Marshaller marshaller = jc.createMarshaller();
        DocumentResult dr = new DocumentResult();
        marshaller.marshal(customer, dr);

        // Manipulate the resulting DOM4J Document object
        Document document = dr.getDocument();
        document.getRootElement().addAttribute("foo", "bar");

        // Output the result
        System.out.println(document.asXML());
    }

}