1

我有个问题。有什么方法可以检测 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”覆盖。
有没有办法检测/避免这种情况?
(所以我可以抛出异常或记录此重复项的出现?)

4

1 回答 1

0

此问题的一般解决方案是将您的 XML 模式设置为javax.xml.validation.Schemaon that的实例,Unmarshaller以确保 XML 匹配预期的输入。

了解更多信息

于 2013-10-10T13:02:33.267 回答