代码之家  ›  专栏  ›  技术社区  ›  awsome

将java对象持久化为xml所需的Suggesstion

  •  0
  • awsome  · 技术社区  · 15 年前

    我们正在使用hibernate从oracle数据库加载数据。我需要从其中一个表中加载数据,然后将此表中选定的数据存储为另一个表中的xml文件。如果有人能提出建议,那么什么是实现此功能的最佳方法呢?

    5 回复  |  直到 15 年前
        1
  •  4
  •   Community Mohan Dere    8 年前

    看看这个问题,它讨论了可以用来将Java对象转换为XML的库(比如JAXB和XStream)。

    What is the best way to convert a java object to xml with open source apis

        2
  •  1
  •   Boris Pavlović    15 年前

    使用 Xstream 关于思想工作。

    “XStream是一个简单的库,可以将对象序列化为XML并再次序列化。”

        3
  •  1
  •   Martin Gross    15 年前

    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>
    
        4
  •  1
  •   Aravind Yarram    15 年前

    如果您使用JPA来持久化您的实体,那么看看您是否可以将提供者切换到 EclipseLink . 如果可以转换 same JPA persistent pojos to XML 为你。所以你只需要处理一个图书馆。

        5
  •  -1
  •   Cyrille Ka    15 年前

    你可以看看 xmlbeans