JAXBTools.java
package org.framework.web.util;
import java.io.StringReader;
import java.io.StringWriter;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller;
public class JAXBTools {
/**
* Java类向XML进行转换
* @param cls
* @param obj
* @throws JAXBException
*/
public static <T> String java2Xml(Class<T> cls,Object obj) throws JAXBException {
JAXBContext jaxbContext = JAXBContext.newInstance(cls);
Marshaller marshaller = jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
StringWriter writer = new StringWriter();
marshaller.marshal(obj, writer);
return writer.toString();
}
/**
* XML向JAVA类转换
* @param cls
* @param content
* @return
* @throws JAXBException
*/
public static <T> Object xml2Java(Class<T> cls,String content) throws JAXBException{
JAXBContext jaxbContext = JAXBContext.newInstance(cls);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
return unmarshaller.unmarshal(new StringReader(content));
}
}
Customer.java
package org.framework.web.beans;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name="Customer")
public class Customer {
private Long id;
private String name;
private String password;
public Customer() {
super();
// TODO Auto-generated constructor stub
}
public Customer(Long id, String name, String password) {
super();
this.id = id;
this.name = name;
this.password = password;
}
@XmlAttribute
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@XmlElement
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@XmlElement
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
@Override
public String toString() {
return "Customer [id=" + id + ", name=" + name + ", password="
+ password + "]";
}
}