1

是否可以将 POJO 实例转换为其 XML 表示形式而不将其存储到 DB 并以 DOM4J 模式(以及从 XML 到 POJO)再次加载它?

4

3 回答 3

4

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

更新

DOM4J 还提供了一个DocumentResult实现javax.xml.transform.Result. 您可以使用 JAXB 编组到此类,然后操作生成的 DOM4JDocument对象:

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());
    }

}
于 2011-08-03T15:49:58.657 回答
1

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

于 2011-08-03T15:55:06.093 回答
0

有很多 XML 序列化库,任你挑选:

我自己是 XStream 的忠实粉丝,它使用起来非常简单,并且不需要 .xsd。

于 2011-08-03T16:40:10.220 回答