XML到POJO,反之亦然

时间:2012-06-27 07:47:15

标签: java xml pojo

  

可能重复:
  What is the best/simplest way to read in an XML file in Java application?

如何将XML转换为POJO,反之亦然? axis2提供这种能力吗?或者java已经具有内置功能吗?或任何其他框架?感谢

5 个答案:

答案 0 :(得分:7)

我真的鼓励您使用 JAXB

  
    

JAXB是一个注释框架,它将Java类映射到XML和XML模式(反之亦然)。它非常有用,因为您可以使用更接近您正在建模的域的真实Java对象,而不是与XML文档的抽象表示交互。

  

如果您需要构建一个RESTful Web服务,通​​过JAXB自动将Java对象序列化/反序列化为XML,我还建议您阅读本书:

使用JAX-RS的Oreilly RESTful Java - (第6章JAX-RS内容处理程序)

答案 1 :(得分:6)

如果您需要一个随时可用的框架,请查看xstream

答案 2 :(得分:2)

答案 3 :(得分:1)

您可以尝试JAXB http://jaxb.java.net/或XMLBeans http://xmlbeans.apache.org/

答案 4 :(得分:1)

使用XMLEncoderXMLDecoder类将此简单版本内置到java> = 1.4中。


一个简单的例子

用法非常简单,与

一致
XMLEncoder xmlEncoder = new XMLEncoder( outputStream );
xmlEncoder.writeObject( myObject );

会给你类似的东西

<?xml version="1.0" encoding="UTF-8"?> 
<java> 
 <object class="your.class.Name"> 
  <void property="fieldName"> 
   <boolean>true</boolean> 
  </void> 
  etc. etc. etc. 
 </object> 
</java> 

回读你刚才做的对象

XMLDecoder xmlDecoder = new XMLDecoder( inputStream );
MyClass thing = (MyClass) xmlDecoder.readObject();

这是我在谷歌上发现的随机教程:
http://www.avajava.com/tutorials/lessons/how-do-i-write-a-javabean-to-an-xml-file-using-xmlencoder.html

这种方法并不是非常灵活,但它内置,配置免费且非常可预测。可能是一个很好的起点。

一些额外的说明:

这是一个概述xml格式的文档:http://java.sun.com/products/jfc/tsc/articles/persistence3/

这是我刚发现的另一个链接,这解释了如何 从xmlencoder移至jaxb(内置于jdk&gt; = 1.6)以获得更大的灵活性: http://en.newinstance.it/2010/08/05/javabeans-to-xml-with-no-libraries/