Может ли кто-нибудь помочь мне создать Java-объект из приведенного ниже XML-файла с помощью Digester api.
У меня есть класс Компания имеет такую карту
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.