我正在做一些 REST Web 服务工作,并且很多 PUTS 正在学习 DTO 课程。其中一些类非常大。有什么东西可以用来获取这些类的 XML 表示吗?我发现通过 DTO 并尝试制定 XML 结构非常耗时。我不可避免地会出错几次,所以它变得很耗时。
有没有办法在 Java 中获取标准 bean 类的 XML 表示?
谢谢
是的,这就是 jaxb 注释很方便的地方:
要得到:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<car registration="abc123">
<brand>Volvo</brand>
<description>Sedan</description>
</car>
由此:
public class Car {
private String registration;
private String brand;
private String description;
}
使用这些注释:
@XmlRootElement
@XmlType(propOrder = {"brand", "description"})
public class Car {
private String registration;
private String brand;
private String description;
@XmlAttribute
public String getRegistration() {
return registration;
}
public String getBrand() {
return brand;
}
public String getDescription() {
return description;
}
}
注意:为简洁起见,我删除了 setter/constructors。
来自http://thomassundberg.wordpress.com/2010/01/19/how-to-convert-a-pojo-to-xml-with-jaxb/,这是一个很好的起点。