对于xml在很多应用中常见,数据传输,数据保存等等,处理xml的技术也很多,我之前一直用dom4j sax 以及序列化等方式处理,今天要说的是序列化,我觉的序列化是比较方便的,定义好实体,以及添加好相应的注解,后边就特别方便,先上代码:
生成xml:
@Root(name = "row", strict=true)
class SynOrderEntiry implements Serializable {
@Element(name = "sellerId", required = false)
private String sellerId;
@Element(name = "sellerName", required = false)
private String sellerName;
@Element(name = "orderTime", required = false)
private String orderTime;
@Element(name = "medName", required = false)
private String medName;
@Element(name = "amount", required = false)
private String amount;
@Element(name = "month", required = false)
private String month;
@Element(name = "terminalNo", required = false)
private String terminalNo;
@Element(name = "terminalName", required = false)
private String terminalName;
@Element(name = "nativeName", required = false)
private String nativeName;
@Element(name = "source", required = false)
private String source;
public String getSource() {
return source;
}
public void setSource(String source) {
this.source = source;
}
public String getSellerId() {
return sellerId;
}
public void setSellerId(String sellerId) {
this.sellerId = sellerId;
}
public String getSellerName() {
return sellerName;
}
public void setSellerName(String sellerName) {
this.sellerName = sellerName;
}
public String getOrderTime() {
return orderTime;
}
public void setOrderTime(String orderTime) {
this.orderTime = orderTime;
}
public String getMedName() {
return medName;
}
public void setMedName(String medName) {
this.medName = medName;
}
public String getAmount() {
return amount;
}
public void setAmount(String amount) {
this.amount = amount;
}
public String getMonth() {
return month;
}
public void setMonth(String month) {
this.month = month;
}
public String getTerminalNo() {
return terminalNo;
}
public void setTerminalNo(String terminalNo) {
this.terminalNo = terminalNo;
}
public String getTerminalName() {
return terminalName;
}
public void setTerminalName(String terminalName) {
this.terminalName = terminalName;
}
public String getNativeName() {
return nativeName;
}
public void setNativeName(String nativeName) {
this.nativeName = nativeName;
}
}
@Root(name = "root", strict=true)
class OrderEntity {
@ElementList(inline=true, required=false)
List<SynOrderEntiry> list = new ArrayList<SynOrderEntiry>();
public List<SynOrderEntiry> getList() {
return list;
}
public void setList(List<SynOrderEntiry> list) {
this.list = list;
}
}
public static void main(String[] arg) throws Exception {
OrderEntity orderEntity = new OrderEntity();
List<SynOrderEntiry> list = new ArrayList<SynOrderEntiry>();
SynOrderEntiry a = new SynOrderEntiry();
a.setAmount("20");
a.setMedName("测试");
a.setMonth("2");
a.setNativeName("上海中医医院");
a.setOrderTime("2018-12-12 12:19:21");
list.add(a);
orderEntity.setList(list);
Writer result = new StringWriter();
Persister persister = new Persister();
persister.write(orderEntity,result);
System.out.println(result.toString());
}
后续在写。。。