簡體   English   中英

將Java對象持久保存到xml所需的建議

[英]Suggesstion needed for persisting java objects to xml

我們正在使用休眠從Oracle數據庫加載數據。 我需要從其中一個表中加載數據,然后將從該表中選擇的數據作為xml文件存儲在另一個表中。 如果有人可以建議,那將是很好,實現此功能的最佳方法是什么?

看一下這個問題,其中討論了可用於將Java對象轉換為XML的庫(例如JAXB和XStream)。

使用開源API將Java對象轉換為xml的最佳方法是什么

使用ThougthWorks的Xstream

“ XStream是一個簡單的庫,用於將對象序列化為XML並再次返回。”

XMLEncoder(java.beans.XMLEncoder)已包含在JDK中,使您無需任何外部庫或工具即可將Java對象持久化為 XML。

一個示例類:

public class Foo {
   private String foo ;

   public void setFoo(String s) {
     foo = s;
   }

   public String getFoo() {
     return foo;
   }
}

幫助程序類序列化為XML:

import java.beans.XMLEncoder;
import java.io.*;

public class FooHelper {
    public static void write(Foo f, String filename) throws Exception{
        XMLEncoder encoder =
           new XMLEncoder(
              new BufferedOutputStream(
                new FileOutputStream(filename)));
        encoder.writeObject(f);
        encoder.close();
    }
}

生成的XML:

<?xml version="1.0" encoding="UTF-8"?> 
<java version="1.5.0-beta" class="java.beans.XMLDecoder"> 
 <object class="Foo"> 
  <void property="foo"> 
   <string>bar</string> 
  </void> 
 </object> 
</java>

如果使用JPA持久化實體,請查看是否可以將提供程序切換到EclipseLink 如果可以為您將相同的JPA持久性pojos轉換為XML 因此,您只需要處理單個庫。

您可以看一下xmlbeans

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM