将POJO转化成符合XML格式的字符串http://my.oschina.net/jeffli1993/blog/376846
时间: 2023-10-05 16:14:28 浏览: 78
这里提供一个使用Java自带的JAXB库将POJO转换成XML格式的字符串的示例代码:
1. 首先需要在POJO类上添加@XmlRootElement注解,表示这个类可以被转换成XML。
```java
@XmlRootElement
public class Student {
private String name;
private int age;
// 省略getter和setter方法
}
```
2. 编写转换方法,将POJO对象转换成XML格式的字符串。
```java
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;
public class XmlUtil {
public static String convertToXml(Object obj) throws JAXBException {
JAXBContext context = JAXBContext.newInstance(obj.getClass());
Marshaller marshaller = context.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
StringWriter writer = new StringWriter();
marshaller.marshal(obj, writer);
return writer.toString();
}
}
```
3. 使用示例:
```java
public static void main(String[] args) throws JAXBException {
Student student = new Student();
student.setName("张三");
student.setAge(18);
String xml = XmlUtil.convertToXml(student);
System.out.println(xml);
}
```
输出结果:
```xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<student>
<age>18</age>
<name>张三</name>
</student>
```
需要注意的是,JAXB库默认使用字段名作为XML标签名,如果需要自定义标签名,可以在对应的getter方法上添加@XmlAttribute或@XmlElement注解。
阅读全文