从Xmappr更改为BeanIO

时间:2017-09-08 12:20:19

标签: java xml bean-io

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

exampleclass.java

@Attribute("Code")
private String code;

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

Brand.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>

并在代码上使用@Field注释, 或者还有其他方法可以做到吗?

1 个答案:

答案 0 :(得分:1)

您可以使用

  

@Field(XMLTYPE = XmlType.ATTRIBUTE)

然后您的代码变为:

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

编辑 - 扩大答案

来自文档:

  

5.7 Fields

     

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

并在

  

6.2 Annotations

     

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

     

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