gpt4 book ai didi

java - moxy jaxb : mapping member attribute

转载 作者:行者123 更新时间:2023-11-29 08:50:49 24 4
gpt4 key购买 nike

我正在尝试将以下类映射到 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com