在java中简洁的操作xml---JAXB

  JAXB为XML节点和属性提供提供了各种面向对象的处理方式,可以基于注解或适配器将XML转换为Java对象。因为其优雅的处理方式,从JRE6开始,JAXB就已经成为了JRE的内置模块。

JAXBContext类  应用的入口,用于管理XML/Java绑定信息。
Marshaller接口  将Java对象序列化为XML数据。
Unmarshaller接口  将XML数据反序列化为Java对象。

注解:

@XmlRootElement

类级别注解;将类映射为xml全局元素,也就是根元素。

参数 name  用于指定生成元素的名字,若不指定,默认使用类名小写作为元素名。
参数 namespace  用于指定生成的元素所属的命名空间。

@XmlType

类级别注解;常与@XMLRootElement,@XmlAccessorType一起使用。

参数 name  定义XML Schema中type的名称
参数 namespace  指定Schema中的命名空间
参数 propOrder  指定映射XML时的节点顺序,使用该属性时,必须列出JavaBean对象中的所有字段,否则会报错。
参数 factoryClass  指定UnMarshal时生成映射类实例所需的工厂类,默认为这个类本身
参数 factoryMethod  指定工厂类的工厂方法

@XmlAccessorType

类级别注解;定义这个类中的何种类型需要映射到XML。

参数 value  可以接受4个指定值:
XmlAccessType.FIELD:映射这个类中的所有字段到XML
XmlAccessType.PROPERTY:映射这个类中的属性(get/set方法)到XML
XmlAccessType.PUBLIC_MEMBER:将这个类中的所有public的field或property同时映射到XML(默认)
XmlAccessType.NONE:不映射

默认的容易导致"类的两个属性具有相同名称"的错误,一般可指定为XmlAccessType.FIELD

@XmlElement

字段,方法,参数级别注解;该注解可以将被注解的(非静态)字段,或者被注解的get/set方法对应的字段映射为本地元素,也就是子元素。

参数 name  用于指定映射时的节点名称,指定生成元素的名字,若不指定,默认使用方法名小写作为元素名。
参数 namespace  指定映射时的节点命名空间
参数 required  字段是否必须,默认为false
参数 nillable  是否处理空数据,默认为false
参数 type  定义该字段或属性的关联类型

@XmlAttribute

字段和方法级别的注解。该注解会将字段或get/set方法对应的字段映射成本类对应元素的属性。

参数 name  用于指定映射时的节点属性名称,若不指定,默认使用方法名小写作为元素名。
参数 namespace  指定映射时的节点属性命名空间
参数 required  该属性是否必须,默认为false

@XmlTransient

类,字段,方法级别的注解。定义某一字段或属性不需要被映射。

原文链接:

Java操作XML(8)--JAXB使用 - 且行且码 - 博客园 (cnblogs.com)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值