Пример JAXB Привет мир

JAXB привет мир пример

JAXB, обозначаетJava Architecture for XML Binding, используя аннотацию JAXB для преобразования объекта Java в / из файла XML. В этом уроке мы покажем вам, как использовать JAXB для выполнения следующих задач:

  1. Marshalling - преобразование объекта Java в файл XML.

  2. Unmarshalling - Преобразование содержимого XML в объект Java.

Технологии, используемые в этой статье

  1. JDK 1.6

  2. JAXB 2.0

Работать с JAXB легко, просто добавьте к объекту аннотацию JAXB, а затем используйтеjaxbMarshaller.marshal() илиjaxbMarshaller.unmarshal() для преобразования объекта / XML.

1. JAXB Зависимость

Никаких дополнительных библиотек jaxb не требуется, если вы используете JDK1.6 или выше, потому чтоJAXB is bundled in JDK 1.6.

Обратите внимание на
. Для JDK <1.6 загрузите JAXB изhere и поместите «jaxb-api.jar» и «jaxb-impl.jar» в путь к классам вашего проекта.

2. JAXB Аннотация

Для объекта, который необходимо преобразовать в / из XML-файла, он должен аннотироваться с помощью аннотации JAXB. Аннотации говорят сами за себя, вы можете обратиться к этомуJAXB guide для подробного объяснения.

package com.example.core;

import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement
public class Customer {

    String name;
    int age;
    int id;

    public String getName() {
        return name;
    }

    @XmlElement
    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    @XmlElement
    public void setAge(int age) {
        this.age = age;
    }

    public int getId() {
        return id;
    }

    @XmlAttribute
    public void setId(int id) {
        this.id = id;
    }

}

3. Конвертировать объект в XML

Пример сортировки JAXB, преобразование объекта клиента в файл XML. jaxbMarshaller.marshal() содержит много перегруженных методов, найдите тот, который подходит для вашего вывода.

package com.example.core;

import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;

public class JAXBExample {
    public static void main(String[] args) {

      Customer customer = new Customer();
      customer.setId(100);
      customer.setName("example");
      customer.setAge(29);

      try {

        File file = new File("C:\\file.xml");
        JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);
        Marshaller jaxbMarshaller = jaxbContext.createMarshaller();

        // output pretty printed
        jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);

        jaxbMarshaller.marshal(customer, file);
        jaxbMarshaller.marshal(customer, System.out);

          } catch (JAXBException e) {
        e.printStackTrace();
          }

    }
}

Выход



    29
    example

4. Конвертировать XML в объект

Пример демарширования JAXB, конвертирование содержимого файла XML в объект клиента. jaxbMarshaller.unmarshal() содержит много перегруженных методов, найдите тот, который подходит вам.

package com.example.core;

import java.io.File;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Unmarshaller;

public class JAXBExample {
    public static void main(String[] args) {

     try {

        File file = new File("C:\\file.xml");
        JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class);

        Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
        Customer customer = (Customer) jaxbUnmarshaller.unmarshal(file);
        System.out.println(customer);

      } catch (JAXBException e) {
        e.printStackTrace();
      }

    }
}

Выход

Customer [name=example, age=29, id=100]