JAXB入门
来源:互联网 发布:美颜摄像头软件下载 编辑:程序博客网 时间:2024/06/05 17:36
JAXB能够使用Jackson对JAXB注解的支持实现(jackson-module-jaxb-annotations),既方便生成XML,也方便生成JSON,这样一来可以更好的标志可以转换为JSON对象的JAVA类。JAXB允许JAVA人员将JAVA类映射为XML表示方式,常用的注解包括:@XmlRootElement,@XmlElement等等。
JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了将XML实例文档反向生成Java对象树的方法,并能将Java对象树的内容重新写到XML实例文档。从另一方面来讲,JAXB提供了快速而简便的方法将XML模式绑定到Java表示,从而使得Java开发者在Java应用程序中能方便地结合XML数据和处理函数。
mavn仓库的地址:http://mvnrepository.com/
在mavn中引入JAXB的包:
<dependency> <groupId>javax.xml.bind</groupId> <artifactId>jaxb-api</artifactId> <version>2.2.12</version></dependency>
首先建一个实体类:
package com.zhcw.practice;import sun.management.Agent;import javax.xml.bind.annotation.*;/** * Created by Administrator on 2016/12/13. */@XmlAccessorType(XmlAccessType.FIELD)@XmlRootElement(name="Customer")@XmlType(name="Customer",propOrder = {"name", "age"})public class Customer { @XmlAttribute private int id; @XmlElement private String name; @XmlElement private int age; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } @Override public String toString() { return "Customer{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + '}'; }}
然后建立测试类:
package com.zhcw.practice;import javax.xml.bind.JAXBContext;import javax.xml.bind.JAXBException;import javax.xml.bind.Marshaller;import javax.xml.bind.Unmarshaller;import java.io.File;/** * Created by Administrator on 2016/12/13. */public class JaxbExample { public static void main(String[] args) { Customer customer = new Customer(); customer.setId(1); customer.setAge(23); customer.setName("Hello word"); //将javaBean转为Xml javaBeanForXml(customer); //将Xml转为javaBean File file = new File("F:\\testXMl.xml"); XmlForJavaBean(file); } private static void javaBeanForXml(Customer customer) { try { File file = new File("F:\\testXMl.xml"); //初始化JAXBContext.JAXBContext类提供的JAXB API的客户端的入口点。 //它提供一个抽象的用于管理XML / Java绑定的必要信息,以实现JAXB绑定框架行动:解组,编组和验证。 JAXBContext jc = JAXBContext.newInstance(Customer.class); //将Java对象Marshal成XML内容的Marshal的初始化设置. Marshaller marshaller = jc.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.marshal(customer, file); marshaller.marshal(customer, System.out); } catch (JAXBException e) { System.out.println("output xml error"); e.printStackTrace(); } } private static void XmlForJavaBean(File file) { try { JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); Customer customer = (Customer) unmarshaller.unmarshal(file); System.out.println(customer.toString()); } catch (JAXBException e) { System.out.println("xml for javaBean Error"); e.printStackTrace(); } }}控制台输出:
Connected to the target VM, address: '127.0.0.1:63217', transport: 'socket'
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Customer id="1">
<name>Hello word</name>
<age>23</age>
</Customer>
Customer{id=1, name='Hello word', age=23}
Disconnected from the target VM, address: '127.0.0.1:63217', transport: 'socket'
Process finished with exit code 0
0 0
- JAXB入门
- JAXB入门
- JAXB入门
- jaxb入门
- jAXB学习入门
- JAXB 入门指导
- JAXB教程-入门案例
- JAXB简单入门小例子
- JAXB学习一 (入门)
- jaxb的介绍,以及对jaxb的入门
- JAXB
- jaxb
- JAXB
- JAXB
- jaxb
- JAXB
- JAXB
- JAXB
- 组合24游戏程序
- Eclipse启动时,为什么需要寻找JVM(JRE)?
- 利用keytool/Openssl来生成服务端和客户端证书,根证书。
- [SSH] Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction
- shell 安装jdk
- JAXB入门
- overflow:hidden
- PL/SQL
- linux下创建用户
- leetcode 之 python篇1
- 海康相机的二次开发
- 5天时间让1000精准客源主动找上你
- Android自定义View绘图基础
- IOS 应用 上架App Store