1
Moxy를 사용하여 샘플 xml을 자식으로 마샬링하는 경우 항상 이름을 가져올 수 없습니다. 항상 null입니다.Moxy can not unmarshal subclass 필드를 상속 한 자식 클래스
샘플 XML
<?xml version="1.0" encoding="UTF-8"?>
<child>
<name value="test"/>
</child>
샘플 클래스 나 상위 클래스의 변경을 할 수없는 경우 나,이 값을 얻을 수있는 방법
public class Parent {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
@XmlRootElement
public class Child extends Parent {
@Override
@XmlPath("name/@value")
public String getName() {
return super.getName() == null ? "" : super.getName();
}
@Override
public void setName(String name) {
super.setName(name);
}
}
JAXBContext jc2 = JAXBContext.newInstance(Child.class);
Unmarshaller unmarshaller = jc2.createUnmarshaller();
Child child = (Child) unmarshaller.unmarshal(new File("d:\\sample.xml"));
.
감사합니다, http://blog.bdoughan.com 및 유래와 발굴 후