Java中的jaxb的使用
时间: 2024-04-05 20:32:54 浏览: 62
JAXB(Java Architecture for XML Binding)是一个Java API,它可以将XML文档与Java对象之间互相转换。下面是使用JAXB的步骤:
1. 创建Java类,这些类将用于表示XML文档中的元素和属性。
2. 使用JAXB提供的注解将Java类与XML元素和属性相映射。
3. 使用JAXB提供的Marshaller类将Java对象序列化为XML文档,或使用Unmarshaller将XML文档反序列化为Java对象。
4. 可以使用JAXB提供的工具生成Java类,这些类将与XML文档中的元素和属性相对应。
下面是一个例子,将Java对象序列化为XML文档:
```java
@XmlRootElement
public class Customer {
private String name;
private int age;
private String address;
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;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
}
public class Main {
public static void main(String[] args) throws JAXBException {
Customer customer = new Customer();
customer.setName("John");
customer.setAge(30);
customer.setAddress("New York");
JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);
Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
marshaller.marshal(customer, System.out);
}
}
```
输出结果为:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customer>
<address>New York</address>
<age>30</age>
<name>John</name>
</customer>
```
在上面的例子中,@XmlRootElement注解用于将Customer类与根元素相映射,@XmlElement注解用于将属性与XML元素相映射。创建JAXBContext和Marshaller对象后,可以使用marshal方法将Java对象序列化为XML文档。
阅读全文