有人可以帮助我使用 Digester api 从下面的 XML 文件中创建 Java 对象吗?
我有一个班级公司有这样的地图
Map<String,Department> nameToDeptMap= new HashMap<String,Department>();
我想将以下 XML 数据加载到此地图。
Department is super class. Development,Testing,Requirment...etc are extending that class.
<Company>
<Employee empname="xyz" department ="com.compnayname.departments.department.Development>
<Employee empname="xyza" department ="com.compnayname.departments.department.Testing>
<Employee empname="xyzab" department ="com.compnayname.departments.department.Requiremetns>
<Employee empname="xyzabc" department ="com.compnayname.departments.department.Production>
.
.
.
.
</Company>
加载地图时,我将通过“empname”来获取部门对象。
如果你想知道我在做什么,请看下面的代码。我知道这是错误的。
我的java文件是这样的..
我能够编写 Digester 规则以将 XML 文件中的值作为字符串获取,但不知道如何作为对象获取。
Digester digester = new Digester();
digester.addObjectCreate("Company/Employee", Company.class);
digester.addCallMethod("Company/Employee", "setComapnyConfigMap", 2);
digester.addCallParam("Company/Employee", 0, "empname");
digester.addCallParam("Company/Employee", 1, "department");
:> Using JDK 1.6 , commons-digester-2.0.