Categories:
Audio (13)
Biotech (29)
Bytecode (36)
Database (77)
Framework (7)
Game (7)
General (507)
Graphics (53)
I/O (35)
IDE (2)
JAR Tools (101)
JavaBeans (21)
JDBC (121)
JDK (426)
JSP (20)
Logging (108)
Mail (58)
Messaging (8)
Network (84)
PDF (97)
Report (7)
Scripting (84)
Security (32)
Server (121)
Servlet (26)
SOAP (24)
Testing (54)
Web (15)
XML (309)
Collections:
Other Resources:
MyXmlToUser.java - Unmarshal XML File to Data Object to
How to unmarshal XML files to data objects using JAXB API?
✍: FYIcenter.com
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, MyXmlToUser.java:
// Copyright (c) FYIcenter.com import com.fyicenter.demo.User; import javax.xml.bind.JAXBContext; import javax.xml.bind.Unmarshaller; import java.io.*; 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"); System.exit(-1); } 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 MyXmlToUser.java as shown below.
fyicenter$ cd src fyicenter> java -cp .:../jaxb-ri/mod/jaxb-api.jar:\ ../jaxb-ri/mod/jaxb-runtime.jar:\ ../jaxb-ri/mod/istack-commons-runtime.jar:\ ../jaxb-ri/mod/javax.activation-api.jar \ MyXmlToUser.java 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
If you are still using Java 8, the test also works.
fyicenter> \local\jdk-1.8.0\bin\javac MyXmlToUser.java fyicenter> \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
⇒ Unmarshaller with No Default Data Validation
⇐ MyUserToXml.java - Marshal Data Object to XML File
2017-06-30, 1670🔥, 0💬
Popular Posts:
JDK 11 java.base.jmod is the JMOD file for JDK 11 Base module. JDK 11 Base module compiled class fil...
What Is jtds-1.2.2.jar? jtds-1.2.2.jar is the JAR files of jTDS Java library 1.2.2, which is a JDBC ...
The JSR 105 XML Digital Signature 1.0.1 FCS implementation provides an API and implementation that a...
What Is HttpComponents commons-httpclient-3.1.j ar?HttpComponents commons-httpclient-3.1.j aris the ...
What Is javax.websocket-api-1.1. jar?javax.websocket-api-1.1. jaris the JAR file for Java API for We...