0

当我想用 Xmappr 注释为 java 类中的 XML 元素指定属性时,我使用 @Attribute 注释,例如:

示例类.java

@Attribute("Code")
private String code;

它正在映射品牌元素的属性代码

品牌.xml

<Brand Code="123">
    <Description>Name</Description>
    <BrandName>true</BrandName>
</Brand>

我的任务是将 Xmappr 注释更改为 BeanIO。

我可以使用 @Field 注释映射的单个元素(无属性),例如:

@Field(xmlName="Description")
Private String description;

那么问题来了,如何使用 BeanIO将属性Code获取到 java 类?我需要将xml更改为:

<Brand>
    <BrandCode>123</BrandCode>
    <Description>Name</Description>
    <BrandName>true</BrandName>
</Brand>

而不是在Code上使用 @Field 注释,还是有其他方法可以做到这一点?

4

1 回答 1

1

您可以使用

@Field(xmlType=XmlType.ATTRIBUTE)

然后您的代码变为:

@Field(xmlName="Code", xmlType=XmlType.ATTRIBUTE)
private String code;

编辑- 扩大答案

从文档中:

5.7字段

使用字段的 xmlType 属性将字段映射到 XML,默认为 element。字段 XML 类型可以设置为元素、属性、文本或无。

而在

6.2注释

使用注解时,强烈建议显式设置所有字段和段的位置(使用 at)。BeanIO 不保证将带注释的组件添加到布局中的顺序。

注释设置通常根据其对应的映射文件命名,并且也遵循相同的约定。

于 2017-09-10T20:49:16.840 回答