- Unmarshal XML File to Data Object to


How to unmarshal XML files to data objects using JAXB API?



If you want to unmarshal xml files to data objects using JAXB API, you can follow these suggestions:

1. Create a JAXBContext instance with the package name of the data type classes generated with the JAXB XJC tool:

      JAXBContext c = JAXBContext.newInstance("com.fyicenter.demo");	  

2. Then create an Unmarshaller instance from the JAXBContext:

      Unmarshaller m = c.createUnmarshaller();

3. Finally, unmarshal the XML file to a data object with the Unmarshaller:

      User u = (User) m.unmarshal(new FileInputStream("User.xml"));

Here is the entire example program,

// Copyright (c)
import com.fyicenter.demo.User;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.Unmarshaller;

public class MyXmlToUser {
   public static void main(String[] args) throws Exception {
      String x = "User.xml";
      if (args.length < 1) {
          System.out.println("USAGE: java MyXmlToUser xml");
      x = args[0];

	  System.out.println("Unmarshal XML file to user object...");
      JAXBContext c = JAXBContext.newInstance("com.fyicenter.demo");	  
      Unmarshaller m = c.createUnmarshaller();
      User u = (User) m.unmarshal(new FileInputStream(x));

	  System.out.println("My user object:");
	  System.out.println("   Name: "+u.getName());
	  System.out.println("   BirthDate: "+u.getBirthDate());
	  System.out.println("   Sex: "+u.getSex());
	  System.out.println("   ID: "+u.getID());

Compile and run as shown below.


\fyicenter\src>\local\jdk-1.8.0\bin\java MyXmlToUser UserOutput.xml
Unmarshal XML file to user object...
My user object:
   Name: Frank Y. Ivy
   BirthDate: 1970-01-01+00:01
   Sex: Male
   ID: 101


Examples for JAXB (Java Architecture for XML Binding)

⇒⇒FAQ for jaxb-*.jar - Java Architecture for XML Binding

2017-06-30, 1013👍, 0💬