Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Main.java
- import java.io.StringWriter;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.GregorianCalendar;
- import javax.xml.bind.JAXBContext;
- import javax.xml.bind.JAXBException;
- import javax.xml.bind.Marshaller;
- import javax.xml.datatype.DatatypeConfigurationException;
- import javax.xml.datatype.DatatypeConstants;
- import javax.xml.datatype.DatatypeFactory;
- import javax.xml.datatype.XMLGregorianCalendar;
- public class Main {
- public static void main(String[] args){
- TheObject theObject = new TheObject();
- try {
- XMLGregorianCalendar dob = convertStringToXmlGregorian("2016-09-16");
- //should output this:
- /*
- <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- <TheObject>
- <DOB>2016-09-16</DOB>
- </TheObject>
- */
- System.out.println(marshallTheObject(theObject));
- } catch (DatatypeConfigurationException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (JAXBException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- private static String marshallTheObject(TheObject theObject) throws JAXBException{
- JAXBContext jaxbContext = JAXBContext.newInstance(TheObject.class);
- Marshaller jaxbMarshaller = jaxbContext.createMarshaller();
- jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
- StringWriter sw = new StringWriter();
- jaxbMarshaller.marshal(theObject, sw);
- String output = sw.toString();
- return output;
- }
- private static XMLGregorianCalendar convertStringToXmlGregorian(String dateString) throws DatatypeConfigurationException
- {
- try {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- java.util.Date date = sdf.parse(dateString);
- GregorianCalendar gc = (GregorianCalendar) GregorianCalendar.getInstance();
- gc.setTime(date);
- XMLGregorianCalendar calendar = DatatypeFactory.newInstance().newXMLGregorianCalendar(gc);
- calendar.setTimezone(DatatypeConstants.FIELD_UNDEFINED);
- calendar.setTime(DatatypeConstants.FIELD_UNDEFINED, DatatypeConstants.FIELD_UNDEFINED, DatatypeConstants.FIELD_UNDEFINED);
- return calendar;
- } catch (ParseException e) {
- e.printStackTrace();
- return null;
- }
- }
- }
- TheObject.java
- import javax.xml.bind.annotation.XmlAccessType;
- import javax.xml.bind.annotation.XmlAccessorType;
- import javax.xml.bind.annotation.XmlElement;
- import javax.xml.bind.annotation.XmlRootElement;
- import javax.xml.bind.annotation.XmlSchemaType;
- import javax.xml.bind.annotation.XmlType;
- import javax.xml.datatype.XMLGregorianCalendar;
- @XmlAccessorType(XmlAccessType.FIELD)
- @XmlType(name = "TheObject", propOrder = {
- "dob"
- })
- @XmlRootElement(name = "TheObject")
- public class TheObject {
- @XmlElement(name = "DOB")
- @XmlSchemaType(name = "dateTime")
- protected XMLGregorianCalendar dob;
- /**
- * Gets the value of the dob property.
- *
- * @return
- * possible object is
- * {@link XMLGregorianCalendar }
- *
- */
- public XMLGregorianCalendar getDOB() {
- return dob;
- }
- /**
- * Sets the value of the dob property.
- *
- * @param value
- * allowed object is
- * {@link XMLGregorianCalendar }
- *
- */
- public void setDOB(XMLGregorianCalendar value) {
- this.dob = value;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement