7

重複の可能性:
Java アプリケーションで XML ファイルを読み取るための最良/最も簡単な方法は何ですか?

XML を POJO に、またはその逆に変換するにはどうすればよいですか? axis2 はその機能を提供しますか? または、Javaにはすでにこの機能が組み込まれていますか? または他のフレームワーク?ありがとう

4

5 に答える 5

7

JAXBを使用することを強くお勧めします。

JAXB は、Java クラスを XML および XML スキーマ (およびその逆) にマップする注釈フレームワークです。XML ドキュメントの抽象的な表現を操作する代わりに、モデリングしているドメインにより近い実際の Java オブジェクトを操作できるため、非常に便利です。

また、JAXB を使用して Java オブジェクトを XML に自動的にシリアライズ/デシリアライズする RESTful Web サービスを構築する必要がある場合は、次の本を読むことをお勧めします。

Oreilly RESTful Java with JAX-RS - (第6章 JAX-RSコンテンツ・ハンドラ)

于 2012-06-27T07:58:29.987 に答える
6

すぐに利用できるフレームワークが必要な場合は、xstreamをご覧ください。

于 2012-06-27T07:49:53.730 に答える
2

さまざまなフレームワークがあります: Jaxb、XStream、JiBX など。

役立つチュートリアル:

http://thomassundberg.wordpress.com/2010/01/19/how-to-convert-a-pojo-to-xml-with-jaxb/

http://numberformat.wordpress.com/2009/11/01/using-jaxb-to-convert-between-xml-and-pojos/

http://soadev.blogspot.com/2011/07/jaxb-converting-pojo-to-xml-and-vice.html

http://jibx.sourceforge.net/binding/tutorial/binding-tutorial.html

XPath だけでそれを行う方法を説明する記事がここにあります。

また、SO hereに関するこの同様の議論もチェックしてください。

于 2012-06-27T07:51:27.623 に答える
1

XMLEncoderこれの単純なバージョンは、 andXMLDecoderクラスを使用して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> = 1.6に組み込まれている)に移行する方法を説明しています:http: //en.newinstance.it/2010/08/05/javabeans-to-xml -with-no-libraries /

于 2012-06-27T08:56:11.780 に答える
1

JAXB http://jaxb.java.net/または XMLBeans http://xmlbeans.apache.org/を試すことができます

于 2012-06-27T07:54:02.313 に答える