我在使用JAXB或BufferedWriter时遇到了麻烦。当我将员工添加到员工列表然后Marshall列表,我得到写入xml文件的员工列表,但它写了两次列表。这是我的代码。
主要类
run-time
员工班级
ViewModel
员工类
IEntityType
文件OutPut : https://pastebin.com/raw/aTqmqwHh
答案 0 :(得分:0)
在@XmlAccessorType(XmlAccessType.FIELD)
课程中将@XmlAccessorType (XmlAccessType.PROPERTY)
更改为Employees
。
或者将@XmlElement(name = "Employee")
移至private List<Employee> employee;
。
问题是,JAXB同时考虑@XmlAccessorType
和显式注释。所以基本上你有两个属性employee
和employees
,它们都映射到Employee
元素。这导致重复输出。