XML を Java 値オブジェクトに変換するために利用できるオープンソース ライブラリには、どのようなものがありますか?
.Net では、xml のシリアル化と属性を使用してこれを簡単に行う方法があります。Javaにもいくつかの類似点があると思います。DOM または SAX パーサーを使用してこれを行う方法は知っていますが、もっと簡単な方法があるかどうか疑問に思っていました。
次のような定義済みの XML 形式があります。
<FOOBAR_DATA>
<ID>12345</ID>
<MESSAGE>Hello World!</MESSAGE>
<DATE>22/04/2009</DATE>
<NAME>Fred</NAME>
</FOOBAR_DATA>
.Net では、このようなことを行って、オブジェクトをデータにバインドできます。
using System;
using System.Xml.Serialization;
namespace FooBarData.Serialization
{
[XmlRoot("FOOBAR_DATA")]
public class FooBarData
{
private int _ID = 0;
[XmlElement("ID")]
public int ID
{
get { return this._ID; }
set { this._ID = value; }
}
private string _Message = "";
[XmlElement("MESSAGE")]
public string Message
{
get { return this._Message; }
set { this._Message = value; }
}
private string _Name = "";
[XmlElement("NAME")]
public string Name
{
get { return this._Name; }
set { this._Name = value; }
}
private Date _Date;
[XmlElement("DATE")]
public Date Date
{
get { return this._Date; }
set { this._Date= value; }
}
public FooBarData()
{
}
}
}
値オブジェクトを定義済みの XML にバインドできるようにする、.Net やおそらく Hibernate に似た、注釈を使用するメソッドがあるかどうか疑問に思っていました。