当我想用XMAPPR注释中指定Java类中XML元素的属性时,我使用@Attribute注释,例如:
exippleclass.java :
@Attribute("Code")
private String code;
它正在映射属性代码 for brand element
brand.xml :
<Brand Code="123">
<Description>Name</Description>
<BrandName>true</BrandName>
</Brand>
我的任务是将XMAPPR注释更改为Beanio。
单个元素(无属性)我可以用@field注释映射,例如:
@Field(xmlName="Description")
Private String description;
所以问题是,如何将属性代码与beanio一起获得Java类?我需要将XML更改为:
<Brand>
<BrandCode>123</BrandCode>
<Description>Name</Description>
<BrandName>true</BrandName>
</Brand>
,而不是在 code上使用@field注释,还是还有其他方法?
您可以使用
@field(xmltype = xmltype.attribute)
然后您的代码变为:
@Field(xmlName="Code", xmlType=XmlType.ATTRIBUTE)
private String code;
编辑 - 扩展答案
来自文档:
5.7 字段
使用该字段的XMLType属性将字段映射到XML,该属性默认为元素。可以将字段XML类型设置为元素,属性,文本或无。
和
6.2 注释
使用注释时,强烈建议将所有字段和段的位置明确设置(使用AT)。beanio不guarantee添加带注释的组件的顺序。
注释设置通常是根据其映射文件对应的命名的,也遵循相同的约定。