1
Moxyを使用してサンプルxmlを子にアンマーシャリングするとき、常に名前を取得できません。それは常にnullです。私は親クラス上の任意の変更を行うことができない場合、私は、この値を取得できますかMoxy can not unmarshal subclassフィールドをオーバーライドします。
サンプルXML
<?xml version="1.0" encoding="UTF-8"?>
<child>
<name value="test"/>
</child>
Sampleクラス
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とstackoverflowので掘る後