首页javajaxbJava HTML/XML - 如何使用JAXB解组XML

Java HTML/XML - 如何使用JAXB解组XML

我们想知道如何使用JAXB解组XML。
import java.io.File;
import java.util.List;

import javax.xml.bind.JAXBContext;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

public class Main {
  public static void main(String[] args) throws Exception {
    JAXBContext jc = JAXBContext.newInstance(Items.class);
    Unmarshaller unmarshaller = jc.createUnmarshaller();
    File xml = new File("input.xml");
    Items items = (Items) unmarshaller.unmarshal(xml);
    Marshaller marshaller = jc.createMarshaller();
    marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
    marshaller.marshal(items, System.out);
  }
  @XmlRootElement
  public static class Items {
    List<Item> items;
    @XmlElement(name = "item")
    public List<Item> getItems() {
      return items;
    }
    public void setItems(List<Item> items) {
      this.items = items;
    }
  }
  public static class Item {
    int code;
    String name;
    int price;
    public int getCode() {
      return code;
    }
    public void setCode(int code) {
      this.code = code;
    }

    public String getName() {
      return name;
    }

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

    public int getPrice() {
      return price;
    }

    public void setPrice(int price) {
      this.price = price;
    }
  }
}