我正在尝试将以下类映射到 xml 绑定(bind)文件 (jaxb-moxy):
public class A{
private String name;
private B b;
.....
}
public class B{
private String surname;
}
在我的绑定(bind)文件中:
....
<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],因为没有为其生成任何属性)。
你能帮我理解如何映射成员属性吗?
提前致谢。
最佳答案
如果您希望获得以下 XML 文档:
<a>
<surname>Doe</surname>
<name>Jane</name>
</a>
对于您在问题中发布的类(class),您可以使用以下映射文档。在本文档中,您将 b
字段映射到 surname
元素,然后使用 @XmlValue 将单个字段映射到
。B
类
<?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>
关于java - moxy jaxb : mapping member attribute,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22788599/