例:ログインにあたりid、パスワードをxmlしたデーターを用意
*ユーザー3人
<userlist>
<user id="admin" password="password"/>
<user id="user1" password="12345678"/>
<user id="user2" password="87654321"/>
</userlist>
個々のデーターはuservalueとしてsetter getterを用意したBeanに格納される。
この場合3つのuservalueオブジェクトが存在することになる。
3つのデータをリストとして格納。つまり
list.add()する。
次にdigesterで読み込みのルールを定めたxmlファイル
<digester-rules>
/* userlist ノードをみつた時点で Listオブジェクトを作成 */
<object-create-rule pattern="userlist" classname="java.util.ArrayList" />
/* userlistの子ノードであるuserノードをみつける毎に */
<pattern value="userlist/user">
/* uservalueオブジェクト作成 */
<object-create-rule classname="UserValue"/>
/* 全てのレコードをセットして(Beanのsetterが始動) */
<set-properties-rule />
/* 先に作成したListに格納する */
<set-next-rule methodname="add" />
</pattern>
</digester-rules>
Javaのソースは以下
String rule=ルールを定義したxmlファイルのパス;
String data =対象のデーターのxmlファイルのパス;
Digester d = DigesterLoader.createDigester(new File(rule).toURL());
List list =(List)d.parse(new File(data));