我有一个以下格式的XML文件:
<persons>
<person>
<firstname>John</firstname>
<lastname>Doe</lastname>
<function>manager</function>
<salary>4000.0</salary>
</person>
<person>
<firstname>Mary</firstname>
<lastname>Jones</lastname>
<function>employee</function>
</person>
<person>
我想根据它们的功能将它们读入Java对象:如果是function = manager,那么应该创建一个新的Manager(),否则应该创建一个新的Employee。
Manager是Employee的子类。这些类如下所示:
public class Employee {
private String firstName;
private String lastName;
private String function;
// getters and setters
}
public class Manager extends Employee {
private double salary;
// getters and setter
}
我已经尝试过使用@XmlCustomizer,@ XmlDiscrimitatorNode和@XmlDiscriminatorValue的组合等等,但是我无法使用它。我找到的所有示例都是您要映射2个扩展第3个子类的子类的形式,但从未想要将超类和子类映射到一起。有人可以帮帮我吗?