我有一个问题。有没有办法在xml文件中检测重复节点(具有不同的值)?
如果java类看起来像这样(我只是为了简单起见):
@XmlRootElement(name = "PERSON")
@XmlAccessorType(XmlAccessType.FIELD)
public class Person {
@XmlElement(name = "NAME")
private String name;
@XmlElement(name = "SURNAME")
private String surname;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSurname() {
return surname;
}
public void setSurname(String surname) {
this.surname = surname;
}
}
和输入.xml文件如下所示:
<person>
<name>John</name>
<surname>Smith</surname>
<name>Jack</name>
</person>
在解组过程之后,值'John'被值'Jack'覆盖
有没有办法检测/避免这种情况?
(所以我可以抛出异常或记录这个副本?)
答案 0 :(得分:0)
此问题的一般解决方案是将XML架构设置为javax.xml.validation.Schema
上Unmarshaller
的实例,以确保XML与预期输入匹配。
了解更多信息