我正在尝试使用xml绑定文件(jaxb-moxy)映射以下类:
public class A{
private String name;
private B b;
.....
}
public class B{
private String surname;
}
在我的绑定文件中:
....
<java-type name="A" xml-accessor-type="NONE">
<java-attributes>
<xml-element java-attribute="b$surname" name="surname"/>
<xml-element java-attribute="name" name="name"/>
</java-attributes>
</java-type>
....
不幸的是,生成的xml总是姓氏字段为空(并且我记录了这个错误消息:忽略类[A]上的属性[b $ surname],因为没有为它生成属性)。
你能否帮我解决如何映射成员属性的问题?
提前致谢。
答案 0 :(得分:0)
如果您希望获得以下XML文档:
<a>
<surname>Doe</surname>
<name>Jane</name>
</a>
对于您在问题中发布的课程,您可以使用以下映射文档。在本文档中,您将b
字段映射到surname
元素,然后使用B
将@XmlValue
类中的单个字段映射。
<?xml version="1.0"?>
<xml-bindings
xmlns="http://www.eclipse.org/eclipselink/xsds/persistence/oxm"
package-name="forum22788599"
xml-accessor-type="FIELD">
<java-types>
<java-type name="A">
<xml-root-element/>
<xml-type prop-order="b name"/>
<java-attributes>
<xml-element java-attribute="b" name="surname"/>
<xml-element java-attribute="name"/>
</java-attributes>
</java-type>
<java-type name="B">
<java-attributes>
<xml-value java-attribute="surname"/>
</java-attributes>
</java-type>
</java-types>
</xml-bindings>